Selecting different keyboard layouts in Xfce

One of my laptops running Xfce has a British English keyboard. However, I write in Portuguese and Spanish as well and so I need to be able to switch keyboard layouts. Therefore I added the three keyboard layouts by clicking on ‘Applications Menu’ on the Xfce Panel, selecting ‘Settings’ > ‘Keyboard’ and clicking on the ‘Layout’ tab. I also created the file /etc/X11/xorg.conf.d/00-keyboard.conf containing the following:

Section "InputClass"
    Identifier "keyboard"
    MatchIsKeyboard "yes"
    Option "XkbLayout" "gb,br,es"
    Option "XkbVariant" ""
    Option "XkbOptions" "grp:alt_shift_toggle"
EndSection

As you can probably guess from the XkbOptions option I specified, pressing Alt-Shift enables me to toggle between the keyboard layouts declared in the XkbLayout option (‘gb’ = British keyboard layout; ‘br’ = Brazilian Portuguese keyboard layout; ‘es’ = Spanish keyboard layout). This works fine but I could not tell at a glance which keyboard layout was selected, without typing some text and seeing the result. It would be nice to see an icon on the Panel indicating which keyboard layout is currently selected, in the same way as is possible in KDE and GNOME. It turns out that Xfce has a plugin that does precisely this: Keyboard Layouts, which is available by installing the package xfce4-xkb-plugin. I installed it, right-clicked on the Panel and selected ‘Panel’ > ‘Add New Items…’ > ‘Keyboard Layouts’ to display the plugin’s icon on the Panel. Right-clicking on it and selecting ‘Properties’ allows you to configure the plugin, and I selected ‘Show layout as: image’ so that a flag indicating the current keyboard layout is displayed on the Panel, as shown in the snapshot below.

POWERED BY LINUX badge on Mesh Edge DX laptop

Keyboard layout icon on Xfce Panel

I can either use the keyboard shortcut Alt-Shift to toggle between the three keyboard layouts (in which case the flag changes on the Panel), or I can click on the Keyboard Layouts icon on the Panel and select the desired layout from there instead, as shown in the snapshot below.

POWERED BY LINUX badge on Mesh Edge DX laptop

Selecting keyboard layout from Xfce Panel

An easy way to edit the Xfce Application Menu

I recently installed Sabayon Linux with Xfce 4.10 on a couple of laptops. Being a long-time KDE user, I was surprised to find that Xfce does not provide a ‘native’ easy way to edit the Xfce Application Menu. The Xfce Wiki page (Customize the Xfce menu) lists a protracted and complicated procedure for making changes to the Xfce menu files. Fortunately the article also points out that a LXDE tool works for Xfce too:

A GNU-licensed graphical menu editor for LXDE, LXMenuEditor, also works for XFCE, as of XFCE 4.8.0 and LXMenuEditor 20110523.

So I installed LXMenuEditor:

# equo install lxmed

To run LXMenuEditor from the command line you just need to enter the command lxmed. If you do that from your user account you can only use LXMenuEditor to view the menu entries. To be able to edit, add and delete menu entries you must launch lxmed as root user, which of course you can do from the command line too. But I wanted to add LXMenuEditor to the Xfce Application Menu and also make it prompt for the root user’s password when launched from the menu. So I did the following:

1. Open a Terminal window, login as root user and launch LXMenuEditor:

$ su
Password:
# lxmed

2. Click on the ‘System Tools’ entry in the Categories pane. The Menu Items pane will display the current menu entries in the System Tools category.

3. Click on the ‘New Item’ button and a window will pop up.

4. In the Name box enter “Application Menu Editor” (without the quotes).

5. In the Command box enter “gksu lxmed” (without the quotes).

6. In the Comment box enter “Edit entries in the Xfce Application Menu” (without the quotes).

7. Make sure the Visible tick box is ticked.

8. Click the OK button.

(x11-libs/gksu should already be installed, but install it if it is not.)

That’s it. If you click on ‘Applications Menu’ on the Panel there will now be a menu entry System > Applications Menu Editor and, if you click on that, you will be prompted to enter the root user’s password. Once you have done that, LXMenuEditor will be launched with root user previleges and you can view and edit the Xfce applications menu.

Evaluating Sabayon Linux Xfce

Sabayon Linux Xfce on Acer Aspire 5920

EDIT (January 18, 2014): This article refers to an installation of Sabayon Linux from the Version 10 ISO, when the distribution still used OpenRC as the init system, rather than systemd. Therefore some of the commands in this article are no longer applicable to the current versions of the distribution using systemd.

The last time I installed SL (Sabayon Linux) on one of my own machines was 18 months ago, and that was my media centre. I haven’t touched that installation since: “If it ain’t broke, don’t fix it.” My most recent desktop SL installation was on a relative’s Acer Aspire 5738 laptop just over a year ago, but it was disappointing. In the end I did get SL working with the laptop’s NVIDIA GPU but, amongst other things, ALSA didn’t work correctly and even I couldn’t fix it. The owner was understandably unimpressed with SL and ended up installing Ubuntu over it, which worked perfectly out of the box.

Since then I have not used SL much apart from occasionally booting an ISO image of the latest SL LiveDVD in VirtualBox on my main laptop running Gentoo, or on the family PC running Windows Vista. So I was keen to try a recent edition of SL, and the opportunity arose this week as I had to replace an Acer Aspire 5920 laptop belonging to a family member and I thought it would be interesting to install SL Xfce Edition on it. (I bought a Samsung NP350V5C laptop to replace it, if you’re interested.)

That Acer Aspire laptop is 4 years old and had been causing a lot of hassle: a hardware design fault made the display flicker, and Windows Vista often refused to connect via WiFi to my home network. A quick search of the Web turns up plenty of complaints about these two problems with this particular Acer model. Oh, and one more thing, Windows Vista was unbelievably slow on the laptop. You really could go and make a cup of coffee in the time it took to boot.

I got a local PC repair shop to look at the ribbon cable in the lid that is known to cause the flickering display, and decided to wipe the HDD (good riddance, Vista) and install SL 10 64-bit Xfce. Below I list the laptop’s specification.

- Acer Aspire 5920-5A2G25Mi
- 15.4″ (1280 x 800)
- 250 GB SATA HDD
- Intel Core 2 Duo T5550 1.83 GHz
- 2GB DDR2 RAM
- Intel Mobile GM965/GL960 Integrated Graphics Controller with Intel Graphics Media Accelerator X3100 with up to 358 MB Shared Graphics
- Intel 82801H HD Audio Controller
- Broadcom Netlink BCM5787M Gigabit Ethernet PCIe
- Intel PRO/Wireless 3945ABG
- Ricoh RSC832 IEEE 1394 Firewire Controller
- Ricoh R5C822 SD/SDIO/MMC/MS/MSPro Adapter
- Ricoh R5C843 MMC Host Controller
- Ricoh RSC592 Memory Stick Bus Host Adapter
- Ricoh xD-Picture Card Controller
- Suyin Corp. Acer CrystalEye Webcam (0.3 Megapixels)
- CD/DVD reader/writer
- 4 USB2 ports
- 56K ITU V.92 modem port

This model has a Bluetooth button but does not have Bluetooth hardware installed. The Bluetooth button can be configured for other purposes, as I discovered after installing SL.

I downloaded the file Sabayon_Linux_10_amd64_Xfce.iso from the SL Download page, and used UNetbootin version 581 to create a LivePenDrive on a 4GB pen drive. I inserted the pen drive into the Aspire, booted, pressed F2 to get to the BIOS menu, configured the BIOS to boot the pen drive, and rebooted.

The SL Live environment loaded without problem and I was able to access my home network via WiFi with ease.

I launched the SL installer and was pleasantly surprised to see that it is more polished that the version I used a year ago. However, over the years I have found that the SL Installer often crashes when it tries to partition the HDD, and the same thing occurred this time. Normally when this happens I boot up a SystemRescueCd LiveCD and use GParted to partition the HDD and format the partitions, then I reboot the SL LiveDVD and re-run the Installer, which then works. This time, however, I just decided to open a Terminal window from the SL Live environment and use the fdisk command to create the partitions manually. Then I re-ran the SL Installer. I was now able to specify the mount points for the partitions and format them, and installation was completed quickly.

I booted the HDD and was pleasantly surprised. Almost everything worked ‘out of the box’ (including the memory card slot), and the overall impression was of a polished distribution with an attractive Xfce desktop. SL looks great on the laptop’s relatively low resolution 1280×800 screen, and I suspect the Infinality patches make a difference. Most of the applications I needed were already installed, to make life easier. Apart from the positive impression aesthetically, I am very impressed with the speed at which it runs. This is one of the snappiest Linux installations I have used.

I did need to perform a few tweaks, and I’ll mention the main ones throughout the remainder of this article.

As SL is a rolling distribution I wanted to bring the installation bang up to date, so I used the usual Entropy commands in a Terminal window:

$ su
Password:
# equo update && equo upgrade && equo conf update

I did not need to upgrade the kernel using the SL kernel-switcher utility, as the version of the latest kernel in the SL Entropy Weekly repository was the same as the version installed by the LiveDVD.

Tapping on the touchpad didn’t work out of the box, but all I had to do was configure it using Xfce’s ‘Applications Menu’ > Settings > ‘Mouse and Touchpad’ > Touchpad (tick ‘Tap touchpad to click’).

Although the Uncomplicated Firewall was installed, a front-end wasn’t, so I installed UFW Frontends:

# equo install ufw-frontends

I launched ufw-gtk (Firewall Manager) and configured UFW as explained in How to config ufw/ufw-frontends for Samba browsing/printing.

Xfce has some useful plugins and utilities, so I installed some of those:

# equo install xfce4-power-manager xfce4-sensors-plugin xarchiver xfce4-battery-plugin thunar-volman xfburn tumbler

A calculator is always handy too:

# equo install galculator

The system clock was not displaying the correct time (it was one hour ahead of actual time) so I followed the SL Wiki article HOWTO: Clock, Time, UTC, Dual boot with Windows and then used the Linux date command to set the correct date and time:

# date MMDDhhmm

OPTIONAL: To keep the system clock in sync with a remote time server when the laptop is connected to the internet, I installed the package net-misc/ntp:

# equo install ntp

and then edited the file /etc/conf.d/ntpd so it contains NTPD_OPTS="-g" and I added the initscripts for NTP Client (executes once at start up) and the NTP daemon (runs continuously) to the default runlevel:

# rc-update add ntpd default
# rc-update add ntp-client default

The SL Xfce Edition LiveDVD installs the Midori Web browser which is lightweight and good, but not as good as Firefox, my favourite browser, so I replaced Midori with Firefox:

# equo remove midori
# equo install firefox

I found that the film trailers on the iTunes Movie Trailers Web site would not play in the browser, so I installed gecko-mediaplayer and gnome-mplayer (and used Edit > Preferences > Player to set ‘Video Output’ to gl for OpenGL or xv for XVideo) and I disabled the Totem plugin in Firefox (Add-ons > Plugins and disable ‘QuickTime Plug-in 7.6.6 The Totem 3.4.3 plugin handles video and audio streams.’) which solved the problem. An earlier blog post of mine also mentions this: Playing QuickTime videos in Firefox and Chromium + XVideo bug in AMD Catalyst 11.11 and 11.12 driver.

As the volume control thumb wheel on the laptop did not work in SL, I used Xfce’s Settings > Keyboard to configure the two unallocated function keys F9 and F10 to be Decrease Volume and Increase Volume, respectively:

amixer set Master 5%- allocated to F9
amixer set Master 5%+ allocated to F10

and I allocated F8 as the Mute button, as it already had a symbol for that printed on it:

amixer set Master toggle

Sound quality is excellent.

I installed Skype:

# equo install skype emul-linux-x86-medialibs

which works well apart from the video image from the laptop’s Acer CrystalEye Webcam (310,000 pixels, circa 640×480), which has flickering blue horizontal lines. I installed GUVCView, a GUI to configure the uvcvideo driver module.

# equo install guvcview

My adjustments using GUVCView helped slightly, but the image quality is still not great. The image is just about tolerable when the subject is illuminated by daylight, but poor in artificial light. Searching the Web tells me that plenty of Windows users have had problems with this model of Webcam too.

I wanted to be able to access computers running Windows on my home network, and to be able to print on printers connected via USB to those computers, so I added SAMBA to the default runlevel so that it would be started automatically when the laptop boots:

# rc-update add samba default

I also edited the configuration file /etc/samba/smb.conf to be as follows:

[global]
netbios name = Aspire5920
message command = /usr/bin/linpopup "%f" "%m" %s; rm %s
printcap name = cups
printing = cups
printer admin = @adm
log file = /var/log/samba/log.%m
max log size = 50
map to guest = bad user
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/private/smbpasswd
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
name resolve order = wins lmhosts bcast
wins support = yes
dns proxy = no

[homes]
comment = Home Directories
read only = no

[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes

[printers]
comment = All Printers
path = /var/spool/samba
guest ok = yes
printable = yes
create mask = 0700
print command = lpr-cups -P %p -o raw %s -r   # using client side printer drivers.

[print$]
path = /var/lib/samba/printers
write list = @adm root
guest ok = yes

[PUBLIC]
path = /home/fitzcarraldo/Public/
guest ok = yes
read only = no

I installed the drivers for two of my printers:

# equo install gutenprint

and used the CUPS browser interface http://localhost:631/ to configure CUPS to use a Canon PIXMA MP510 via SAMBA connected to a PC running Vista, and to use a Canon PIXMA MP560 on my home network via WiFi.

When configuring CUPS to use the Canon PIXMA MP510 printer connected to the family PC that is running Windows Vista, I had to specify the printer’s SMB address as follows:

smb://workgroup/username:password@hostname/printername

where username is the name of a user account on the Windows Vista PC, and password is the password of that user account.

For example, let’s say that I configured Windows Vista on the family PC some years ago as follows:

PC name: SA90

Work group name: WORKGROUP

Printer name: Canon_MP510_Printer

User name: Fitzcarraldo

User password: MollyAida

then the SMB address I would specify to the CUPS Manager for the printer would be:

smb://WORKGROUP/Fitzcarraldo:MollyAida@SA90/Canon_MP510_Printer

I configured the Xfce top Panel to show the Xfce LCD brightness plugin, Xfce audio mixer, Xfce sensor plugin, Xfce battery monitor. By the way, Xfce Power Manager works correctly when the laptop is using its battery.

Xfce makes it easy to configure shortcut keys: ‘Applications Menu’ > Settings > Keyboard | ‘Application Shortcuts’. I configured the browser launch key on the left of the laptop’s main keyboard to launch Firefox. And, as I am used to launching Yakuaki in KDE using F12, I set up F12 in Xfce to run /usr/bin/terminal (I could instead have installed Guake and used Xfce’s ‘Applications Menu’ > ‘Session and Startup’ | ‘Application Autostart’ to configure Guake to launch automatically at start up).

Basically, almost everything works well.

Also, I installed superadduser and added another user successfully:

# equo install superadduser

Although the Xfce ALSA Mixer works fine, I installed PulseAudio Volume Control too:

# equo install pavucontrol

Actually you do need both an ALSA mixer and a PulseAudio mixer because you can get into the situation where the ALSA volumes are turned up but the PulseAudio volumes are turned down.

As I sometimes download YouTube videos for offline viewing, I installed the version of the excellent Python script youtube-dl that is in the SL Weekly repository:

# equo install youtube-dl

but it turned out to be the package net-misc/youtube-dl-2012.02.27, which wouldn’t download YouTube videos. I had to download the latest version of the script from the youtube-dl developer’s Web site, made it executable (chmod +x ~/youtube-dl) and copied it to the directory /usr/bin/ to overwrite the 2012.02.27 version installed via Entropy.

Thunar was taking a very long time to open the first time I launched it after each reboot, and was also launching twice. To stop this happening I edited the file /usr/share/gvfs/mounts/network.mount and changed AutoMount=false.

Furthermore, the following message sometimes appears in a pop-up window when launching Thunar:

Failed to open directory “fitzcarraldo”.
Error when getting information for file ‘/home/fitzcarraldo/.gvfs’: Transport endpoint is not connected.

Searching the Web indicated the following command might fix it:

# umount /home/fitzcarraldo/.gvfs

It seems to have helped, but the message does still appear sometimes.

One problem I experienced 18 months ago with the SL 5.4 E17 Edition — and I notice has been reported by several users in the SL Forums since then — is that SL does not always set up the user’s locale correctly. During installation I selected English as the language, the UK as my location and English (UK) for the keyboard, and ended up with the US locale:

# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

What I want is the British locale. I rectified it by following Steps 3, 4 and 5 in the SL Forums post Re: en_GB language missing after install.. I think the SL Installer probably needs modifying.

Summary

SL 10 Xfce is an attractive installation demonstrating a fair amount of attention to detail, but the Installer has some frustrating problems with partitioning and the set up of the locale. These problems have been present for quite some time now and could be ‘brick walls’ for newcomers to Linux.

I use Xfce in Gentoo on a legacy laptop (Pentium III) and so am familiar with it, but it looks great in SL and just seems that little bit more polished.

But the main impression I get from this installation is just how zippy and responsive it is. Video runs smoothly however fast I jiggle around a media player window, and we’re talking a relatively low-end graphics processor here, not an AMD or NVIDIA GPU. Applications open really fast. Overall, it’s a pleasure to use.

When I think back to how Windows Vista ran on this laptop, the difference is like night and day. It’s like having a new, more powerful laptop. I’ve now added a user account for my wife as she has decided she will use it. Not bad for a laptop I thought I would give to my local repair shop for spares.

Follow

Get every new post delivered to your Inbox.

Join 43 other followers