[Ubuntu Maverick] Configure GDM Login Screen

Thursday, January 13, 2011
0 意見
When you broke your login screen UI, you may try the following steps to rescure it.

  1. $sudo ln -s /usr/share/applications/gnome-appearance-properties.desktop /usr/share/gdm/autostart/LoginWindow/
  2. Logout, the GDM "Appearance Setting" will popup
  3. Select the default "Ambiance" and then press the "Customize" button, you can configure login theme/icons here.
  4. After customizing the "Appearance Setting", login
  5. $sudo unlink /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop

[Ubuntu Maverick] Enable Wireshark capturing for non-root user

Monday, January 10, 2011
3 意見
When you tried to launch the wireshark capturing, you may encounter a problem: there's no network interfaces available for capturing. This is because the executable(/usr/bin/dumpcap) which is doing the indeed capturing job needs permission of root. Fortunately, I found the solution at wireshark wiki:CapturePrivileges, and I did some modification due to security concern. And I am going to keep a memo here in case someday someone may need this :-)
$sudo useradd -U -M -s /bin/false wireshark
$sudo chgrp wireshark /usr/bin/dumpcap
$sudo chmod 754 /usr/bin/dumpcap
$sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
$sudo gpasswd -a [username] wireshark

logout & login, and you're done!
p.s.
[1]. useradd: -U means "Create a group with the same name as the user, and add the user to this group."
[2]. useradd: -M means "Do no create the users home directory."
[3]. useradd: -s /bin/false means "Do no give the user a login shell."
[4]. chgrp: Change the group of each FILE to GROUP.

[Ubuntu Maverick] JDK5 Installation/Setup for building Android in x64 architecture

Friday, January 7, 2011
2 意見
Sun-JDK5 is one of those prerequisites that used to build android source successfully.
(According to official setup notes: Java 6 is not supported, because of incompatibilities with @Override.) The default JDK choose by Maverick was icedtea6, which is not recommended for building android, so, we're gonna install JDK5 instead of icedtea.

Unfortunately, JDK5 was abandoned by Ubuntu 10.10/10.04, but fortunately, Janty(9.04) still have JDK5 in its repository. So, let's move on.

Add packages sources to /etc/apt/sources.list:
deb http://archive.ubuntu.com/ubuntu dapper main multiverse
deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse

and then:
$sudo apt-get update
$sudo apt-get install sun-java5-jdk

after installation finished, use
$java -version
to check the current java version.

If you had JDK6 installed before JDK5, you probably need help from 'update-alternatives'.
First, list all Java installed,
$update-java-alternatives -l
Second, set the JDK5 as system default,
$sudo update-java-alternatives -s java-1.5.0-sun
You are ALL SET!

[Ubuntu Maverick] Get ubuntu/kernel version/code-name

0 意見
Sometimes, when you logged in a remote Ubuntu server, it will be easier to find out suitable packages if you know the version/code-name of it.
In gnome terminal, to get the Ubuntu version, use the following command:
  • $cat /etc/lsb-release
you will get some similar output as following:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"

to get the kernel version, use the following command:
  • $uname -a
then you will get the following output:

Linux 2.6.35-generic #42-Ubuntu SMP Thu Dec 1 00:00:00 UTC 2000 x86_64 GNU/Linux

[Gentoo] X201 Black Screen Solution

Friday, October 29, 2010
0 意見
According to my experiments, while using kernel version between 2.6.32-gentoo-r10 and 2.6.35-gentoo-r9, my Thinkpad X201 always got a black screen, but by applying the following patch, I can boot into framebuffer console with KMS(Kernel ModSetting) on.
  1. Under $KERNEL_ROOT/drivers/gpu/drm/i915/intel_display.c
  2. 858 intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,
    859 int target, int refclk, intel_clock_t *best_clock)
    860 {
    861 struct drm_device *dev = crtc->dev;
    862 struct drm_i915_private *dev_priv = dev->dev_private;
    863 intel_clock_t clock;
    864 int max_n;
    865 bool found;
    866 /* approximately equals target * 0.00585 */
    867 int err_most = (target >> 8) + (target >> 9)
    868 // patch for KMS black screen
    869 err_most += 50;
    870 found = false;

But now, this bug/issue seems to be fixed in kernel version 2.6.36, I just emerge the gentoo-sources-2.6.36 without applying above patch, and it works.

Keywords: ThinkPad, X201, Gentoo, Black Screen, KMS