Difference between revisions of "LXDE"

From ArchWiki
Jump to: navigation, search
m (GTK+ warnings with lxsession 0.4.1: Remove empty line.)
(LXPanel smaller icon size in Task Bar)
 
(145 intermediate revisions by 19 users not shown)
Line 1: Line 1:
 +
[[Category:Desktop environments]]
 
[[cs:LXDE]]
 
[[cs:LXDE]]
 
[[es:LXDE]]
 
[[es:LXDE]]
Line 7: Line 8:
 
[[ru:LXDE]]
 
[[ru:LXDE]]
 
[[sr:LXDE]]
 
[[sr:LXDE]]
[[tr:LXDE_Masaüstü_Ortamı]]
+
[[tr:LXDE Masaüstü Ortamı]]
 
[[uk:LXDE]]
 
[[uk:LXDE]]
 
[[zh-CN:LXDE]]
 
[[zh-CN:LXDE]]
 
[[zh-TW:LXDE]]
 
[[zh-TW:LXDE]]
[[Category:Desktop environments]]
+
{{Related articles start}}
{{Article summary start}}
+
{{Related|Desktop environment}}
{{Article summary text|LXDE is a GPL-licensed open source desktop environment for Unix and other POSIX-compliant platforms, such as Linux. This article covers its installation, configuration, and troubleshooting.}}
+
{{Related|Display manager}}
{{Article summary text|LXDE uses the [[GTK+]] toolkit.}}
+
{{Related|Window manager}}
{{Article summary heading|Overview}}
+
{{Related|Openbox}}
{{Article summary text|{{Graphical user interface overview}}}}
+
{{Related|PCManFM}}
{{Article summary heading|Related}}
+
{{Related|LXDM}}
{{Article summary wiki|Openbox}}
+
{{Related|LXQt}}
{{Article summary wiki|PCManFM}}
+
{{Related|File manager functionality#Mounting}}
{{Article summary wiki|LXDM}}
+
{{Related articles end}}
{{Article summary end}}
+
  
 
From project [http://lxde.org/ home page]:
 
From project [http://lxde.org/ home page]:
Line 29: Line 29:
 
== Installation ==
 
== Installation ==
  
LXDE is considered modular, meaning that choosing a specific package for a task is usually accomplishable; the minimal required packages which you have to install to run LXDE are {{Pkg|lxde-common}} and {{Pkg|openbox}} (or another window manager).
+
LXDE requires at least {{Pkg|lxde-common}}, {{Pkg|lxsession}} and {{Pkg|openbox}} (or another window manager) to be [[install]]ed. The {{Grp|lxde}} group contains the full desktop.
  
The complete LXDE suite can be installed with the group {{grp|lxde}}, available in the [[official repositories]]. It contains the following packages:
+
=== GTK+ 3 version ===
  
* {{Pkg|gpicview}} - Lightweight image viewer
+
An experimental GTK+ 3 build of LXDE can be installed with the {{Grp|lxde-gtk3}} group.
* {{Pkg|libfm}} - Library for file management
+
* {{Pkg|lxappearance}} - Utility to configure themes, icons and fonts for GTK+ applications
+
* {{Pkg|lxappearance-obconf}} - Plugin for LXAppearance to configure Openbox
+
* {{Pkg|lxde-common}} - Default settings for integrating different LXDE components
+
* {{Pkg|lxde-icon-theme}} - Icon theme for LXDE
+
* {{Pkg|lxdm}} - Lightweight display manager
+
* {{Pkg|lxinput}} - Small program to configure keyboard and mouse for LXDE
+
* {{Pkg|lxlauncher}} - Application launcher mainly for netbooks
+
* {{Pkg|lxmenu-data}} - Collection of files intended to adapt freedesktop.org menu specification
+
* {{Pkg|lxmusic}} - Lightweight XMMS2 client
+
* {{Pkg|lxpanel}} - Desktop panel for LXDE
+
* {{Pkg|lxpolkit}} - Simple polkit authentication agent for LXDE
+
* {{Pkg|lxrandr}} - Screen manager
+
* {{Pkg|lxsession}} - Standard-compliant X11 session manager with shutdown, reboot and suspend support
+
* {{Pkg|lxshortcut}} - Small program used to edit application shortcuts
+
* {{Pkg|lxtask}} - Lightweight task manager
+
* {{Pkg|lxterminal}} - Lightweight terminal emulator
+
* {{Pkg|menu-cache}} - Daemon which automatically generates the menu for LXDE
+
* {{Pkg|openbox}} - Lightweight, standard-compliant and highly-configurable window manager typically used with LXDE
+
* {{Pkg|pcmanfm}} - Default lightweight file manager for LXDE which also provides desktop integration
+
  
{{Pkg|leafpad}} and {{Pkg|epdfview}} are some lightweight applications that are typically used with LXDE and are also available in the official repositories.
+
While it works mostly, there are some known issues with [https://sourceforge.net/p/lxde/bugs/769/ gpicview], [https://sourceforge.net/p/lxde/bugs/768/ lxappearance-obconf], [https://sourceforge.net/p/lxde/bugs/803/ lxlauncher] and [https://sourceforge.net/p/lxde/bugs/773/ lxpanel].
  
 
== Starting the desktop ==
 
== Starting the desktop ==
  
There are lots of ways to start a LXDE desktop.
+
=== Graphical log-in ===
  
=== Display managers ===
+
[[LXDM]] is the default display manager for LXDE and is installed as part of the {{Grp|lxde}} group. See also [[Display manager]].
 
+
If you are using a [[display manager]] like [[GDM]], [[KDM]], or [[SLiM]], switch the session to LXDE. Please consult the display manager's wiki page for instructions.
+
 
+
Instructions for using [[LXDM]], an experimental display manager provided by the LXDE project, are included in LXDM page.
+
 
+
If you are not using a display manager you might want to add
+
 
+
export DESKTOP_SESSION=LXDE
+
 
+
to your {{ic|~/.bash_profile}} in order for xdg-open to function properly.
+
  
 
=== Console ===
 
=== Console ===
  
To be able to start the desktop from the console, several other options exist.
+
To use '''startx''', you will need to define LXDE in [[xinitrc]]:
 
+
To use '''startx''', you will need to define LXDE in your {{ic|~/.xinitrc}} file:
+
 
+
exec startlxde
+
 
+
If you want to run '''startx''' at boot automatically, take a look at the [[Start X at Boot#Starting X as preferred user without logging in |Starting X at boot]] guide.
+
  
For other tasks you'll want to be sure that dbus is running as a daemon.
+
{{hc|~/.xinitrc|exec startlxde}}
  
See [[xinitrc]] for details, such as preserving the logind session.
+
See also [[Start X at login]].
  
 
== Tips and tricks ==
 
== Tips and tricks ==
Line 91: Line 55:
 
=== Application menu editing ===
 
=== Application menu editing ===
  
The application menu works by resolving the {{ic|.desktop}} files located in {{ic|/usr/share/applications}}. Many desktop environments run programs that supersede these settings to allow customization of the menu. LXDE has yet to create an application menu editor but you can manually build them yourself if you are so inclined. Third party menu editor can be found in [[AUR]] - {{aur|lxmed}}
+
{{Merge|Desktop entries}}
 +
 
 +
The application menu works by resolving the {{ic|.desktop}} files located in {{ic|/usr/share/applications}}. Many desktop environments run programs that supersede these settings to allow customization of the menu. LXDE has yet to create an application menu editor but you can manually build them yourself if you are so inclined. Third party menu editor can be found in [[AUR]] - {{AUR|lxmed}}
  
 
To add or edit a menu item, create or link to the {{ic|.desktop}} file in {{ic|/usr/share/applications}}, {{ic|/usr/local/share/applications}}, or {{ic|~/.local/share/applications}}. (The latter two have the advantage of putting your application outside of directories governed by {{ic|pacman}}.) Consult [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] on freedesktop.org for structures of {{ic|.desktop}} files.
 
To add or edit a menu item, create or link to the {{ic|.desktop}} file in {{ic|/usr/share/applications}}, {{ic|/usr/local/share/applications}}, or {{ic|~/.local/share/applications}}. (The latter two have the advantage of putting your application outside of directories governed by {{ic|pacman}}.) Consult [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] on freedesktop.org for structures of {{ic|.desktop}} files.
  
 
To remove items from the menu, instead of deleting the {{ic|.desktop}} files, you can edit the file and add the following line in the file:
 
To remove items from the menu, instead of deleting the {{ic|.desktop}} files, you can edit the file and add the following line in the file:
  NoDisplay=true.
+
 
 +
  NoDisplay=true
 +
 
 
To expedite the process for a good number of files you can put it in a loop. For example:
 
To expedite the process for a good number of files you can put it in a loop. For example:
 +
 
  $ cd /usr/share/applications
 
  $ cd /usr/share/applications
 
  $ for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \
 
  $ for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \
 
  /home/user/.local/share/applications/; echo "NoDisplay=true" >> \
 
  /home/user/.local/share/applications/; echo "NoDisplay=true" >> \
 
  /home/user/.local/share/applications/$i; done
 
  /home/user/.local/share/applications/$i; done
This will work for all applications except KDE applications. For these, the only way to remove them from the menu is to log into KDE itself and use it's menu editor. For every item that you do not want displayed, check the 'Show only in KDE' option. If adding NoDisplay=True won't work, you can add ShowOnlyIn=XFCE.
 
  
=== Auto mount ===
+
This will work for all applications except KDE applications. For these, the only way to remove them from the menu is to log into KDE itself and use its menu editor. For every item that you do not want displayed, check the 'Show only in KDE' option. If adding NoDisplay=True will not work, you can add ShowOnlyIn=XFCE.
  
[[PCManFM#Volume_handling]]
+
=== Autostart ===
  
=== Autostart programs ===
+
Applications can be automatically started in several ways.
  
{{Note|More methods to autostart programs can be found in [[Autostarting]]}}
+
==== Desktop files ====
  
By default, Openbox is the window manager for LXDE, so [[Openbox#Startup programs]] affects LXDE too.
+
{{Tip|{{ic|.desktop}} files can be manipulated with the {{AUR|lxsession-edit}}{{Broken package link|{{aur-mirror|lxsession-edit}}}} package.}}
  
==== .desktop files ====
+
See [[Desktop entries#Autostart]].
  
First you can link a program's {{ic|.desktop}} in {{ic|/usr/share/applications/}} file to {{ic|~/.config/autostart/}}. For example, to execute lxterminal automatically at startup:
+
==== Lxsession ====
$ ln -s /usr/share/applications/lxterminal.desktop ~/.config/autostart/
+
 
Once {{ic|.desktop}} files have been added you can manipulate them with the GUI configuration tool {{AUR|lxsession-edit}}.
+
Each line in {{ic|~/.config/lxsession/LXDE/autostart}} represents a command to be executed. If a line starts with {{ic|@}}, and the command following it crashes, the command is automatically re-executed. For example:
  
==== autostart file ====
 
The second method is to use a {{ic|~/.config/lxsession/LXDE/autostart}} file. This file is not a shell script, but each line represents a command to be executed, if a line begins with a @ symbol, the command following the @ will be automatically re-executed if it crashes. For example, to execute lxterminal and leafpad automatically at startup:
 
 
{{hc|~/.config/lxsession/LXDE/autostart|
 
{{hc|~/.config/lxsession/LXDE/autostart|
 
@lxterminal
 
@lxterminal
 
@leafpad
 
@leafpad
 
}}
 
}}
{{Note|The commands do '''not''' end with a & symbol.}}
+
 
There is also a global autostart file at {{ic|/etc/xdg/lxsession/LXDE/autostart}}. If both files are present, all entries in both files will be executed.
+
{{Note|Unlike Openbox, these commands do ''not'' end with a {{ic|&}} symbol.}}
 +
 
 +
There is also a global autostart file at {{ic|/etc/xdg/lxsession/LXDE/autostart}}.
 +
 
 +
{{Note|If both files are present, lxsession only executes the local file as of v0.4.9}}
  
 
=== Bindings ===
 
=== Bindings ===
  
Mouse and key bindings (i.e. keyboard shortcuts) are implemented with Openbox and are described in detail [http://openbox.org/wiki/Help:Bindings here]. LXDE users should follow these instructions to edit the file ~/.config/openbox/lxde-rc.xml
+
Mouse and key bindings (i.e. keyboard shortcuts) are implemented with Openbox. LXDE users should follow the [http://openbox.org/wiki/Help:Bindings Openbox wiki] to edit {{ic|~/.config/openbox/lxde-rc.xml}}.
  
An optional GUI for editing the key bindings is {{AUR|obkey}} available in the AUR. The default edit for obkey is rc.xml, but you can direct it to the LXDE configuration as follows:
+
An optional GUI for editing the key bindings is provided by the {{AUR|obkey}} package. Whle it edits {{ic|rc.xml}} by default, you can direct it to the LXDE configuration as follows:
  
 
  $ obkey ~/.config/openbox/lxde-rc.xml
 
  $ obkey ~/.config/openbox/lxde-rc.xml
  
More information on obkey is [http://code.google.com/p/obkey/ here].
+
See [http://code.google.com/p/obkey/] for more information.
  
 
=== Cursors ===
 
=== Cursors ===
  
Main article: [[Cursor Themes]].
+
LXAppearance, provided  by the {{pkg|lxappearance}} package, is a graphical tool that can determine a number of aspects of the user interface including the cursor theme. Settings configured using LXAppearance are written to {{ic|~/.gtkrc-2.0}}, {{ic|~/.config/gtk-3.0/settings.ini}}, and {{ic|~/.icons/default/index.theme}}. See also [[Cursor themes]].
 
+
{{Pkg|lxappearance}} provides functionality to change cursor themes.
+
  
 
=== Digital clock applet time ===
 
=== Digital clock applet time ===
  
You can right click on the digital clock applet on the panel and set how it displays the current time. For example, to display standard time instead of military time in the format of HH:MM:SS:
+
You can right click on the digital clock applet on the panel and set how it displays the current time using the strftime format - see [http://linux.die.net/man/3/strftime man strftime] for details.
 
+
%I:%M
+
 
+
And in YYYY/MM/DD HH:MM:SS format:
+
 
+
%Y/%m/%d %H:%M:%S
+
 
+
If you wish to display standard time with and AM/PM:
+
 
+
%I:%M %p
+
 
+
See the man page on {{ic|strftime (3)}} for more options.
+
  
 
=== Font settings ===
 
=== Font settings ===
  
Most users of LXDE usually try to use GTK+ programs because GTK+ is the backend for LXDE. To set the fonts, you can use {{Pkg|lxappearance}} and set the main font. For other fonts you will need to use the '''Openbox configuration tool''' {{Pkg|obconf}}.
+
See [[Font configuration]]. {{Pkg|lxappearance-obconf}} configures LXDE-specific settings.
  
 
=== Keyboard layout ===
 
=== Keyboard layout ===
  
==== Using udev ====
+
See [[Keyboard configuration in Xorg]] for generic instructions. A keyboard layout applet is included with ''lxpanel''.
  
When you use [[udev]], the default input configuration is written to {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} under {{ic|Section "InputClass"}}. You can edit it or create a new file {{ic|/etc/X11/xorg.conf.d/10-keyboard.conf}} following the example below, using a generic ''swiss'' keyboard, with a ''french'' variant.
+
See [[#Autostart]] for a way to automatically start ''setxkbmap'' in LXDE.
Section "InputClass"
+
    Identifier        "evdev keyboard catchall"
+
    MatchIsKeyboard  "on"
+
    MatchDevicePath  "/dev/input/event*"
+
    Driver            "evdev"
+
    Option            "XkbModel" "pc104"
+
    Option            "XkbLayout" "fr"
+
    Option            "XknVariant" "ch"
+
EndSection
+
You can find a list of all layout and variant options in {{ic|/usr/share/X11/xkb/rules/base.lst}}.
+
  
==== Other ways ====
+
=== Screen locking ===
  
1 way:
+
LXDE does not come with a screen locker of its own; see [[List of applications/Security#Screen lockers]] for alternatives.
Add in {{ic|/etc/xdg/lxsession/LXDE/autostart}} following line before {{ic|@lxpanel --profile}} LXDE:
+
@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru
+
or {{ic|~/.config/lxsession/LXDE/autostart}} (for separate user):
+
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru
+
2 way:
+
Create {{ic|/etc/xdg/autostart/setxkmap.desktop}} as following:
+
[Desktop Entry]
+
Version=1.0
+
Encoding=UTF-8
+
Name=Fix keyboard settings
+
Exec=setxkbmap -rules xorg -layout "us,ru" -variant ",winkeys" -option "grp:alt_shift_toggle"
+
Terminal=false
+
Type=Application
+
3 way:
+
Edit {{ic|~/.Xkbmap}} for current user or {{ic|/etc/X11/Xkbmap}} for all system add following line:
+
-option grp:alt_shift_toggle,grp_led:scroll us,ru
+
4 way:
+
Add folowing line in {{ic|/etc/X11/xinit/xinitrc}} or {{ic|~/.xinitrc}}:
+
setxkbmap -option grp:alt_shift_toggle,grp_led:scroll us,ru
+
5 way:
+
Install [http://fbxkb.sourceforge.net/ fbxkb] from [[AUR]].
+
  
6 way:
+
{{ic|/etc/xdg/lxsession/LXDE/autostart}} from {{Pkg|lxde-common}} lists [[XScreenSaver]], which will be launched automatically. See [[#Autostart]] when using a different locker. See [[DPMS]] on how to control the screen saver without external programs.
[[Xorg#Switching_Between_Keyboard_Layouts]].
+
  
==== Add the “Keyboard Layout Switcher” to our taskbar ====
+
=== LXPanel icons ===
  
# Right-click on your taskbar
+
{{Accuracy|{{ic|.local/share/}} preferred}}
# Choose “Add/Remove panel items”
+
# Choose “Add”
+
# Choose “Keyboard layout switcher”
+
 
+
=== Gnome-screensaver with LXDE ===
+
 
+
Install the needed packages {{Pkg|gnome-screensaver}} and {{Pkg|gnome-session}}.
+
 
+
Create a simple launcher for gnome-session to allow the screensaver to work in {{ic|~/.config/autostart/gnome-session.desktop}}
+
 
+
[Desktop Entry]
+
Exec=/usr/bin/gnome-session
+
 
+
Now logout and log back in to enjoy gnome-screensaver.
+
 
+
=== Disabling screen blanking without installing GUI screensaver ===
+
 
+
If you do not want to install GUI screensaver, to disable screen blanking add these lines below to {{ic|~/.xinitrc}} before exec command.
+
xset s off &
+
xset -dpms &
+
 
+
=== lxpanel icons ===
+
  
 
Default icons used by lxpanel are stored in {{ic|/usr/share/pixmaps}} and any custom icons you want lxpanel to use need to be saved there as well.
 
Default icons used by lxpanel are stored in {{ic|/usr/share/pixmaps}} and any custom icons you want lxpanel to use need to be saved there as well.
  
 
You can change default icons for applications by taking the following steps:
 
You can change default icons for applications by taking the following steps:
 +
 
# Save the new icon to /usr/share/pixmaps
 
# Save the new icon to /usr/share/pixmaps
 
# Use a text editor to open the {{ic|.desktop}} file of the program whose icon you want to change in {{ic|/usr/share/applications}}.
 
# Use a text editor to open the {{ic|.desktop}} file of the program whose icon you want to change in {{ic|/usr/share/applications}}.
 
# Change
 
# Change
 +
 
  Icon=/default/icon/.png
 
  Icon=/default/icon/.png
 +
 
to:
 
to:
 +
 
  Icon=/name/of/new/icon/added/to/pixmaps/.png
 
  Icon=/name/of/new/icon/added/to/pixmaps/.png
  
=== LXNM ===
+
=== LXPanel menus ===
  
{{Note|LXNM is no longer under active development. It's [http://wiki.lxde.org/en/LXNM suggested] to use NetworkManager and nm-applet.}}
+
The panel's menus can be configured in {{ic|/etc/xdg/menus/lxde-applications.menu}} as per the [[xdg-menu]] format to work with applications from other sessions (notably [[MATE]]) to add some of the function-ability that lxde lacks.
LXNM is a program based on scripts that attempts to manage the network connections. It is script-based and strives to make networking configuration as automatic as possible. It is not a full blown networking system like [[NetworkManager]]. If you want greater control, [[Wicd]] and Gnome's versions of [[NetworkManager]] works well with LXDE. You can install {{Pkg|lxnm}} from the official repositories.
+
The main script will need to be run as root. LXNM works with the network status monitor applet in lxpanel. LXNM works well most of the time, though at times it can take a while to get a connection.
+
  
=== PCManFM ===
+
=== Replace Openbox ===
  
PCManFM is the standard file manager in LXDE. See the main article [[PCManFM]] for details.
+
''lxsession'' uses the [[window manager]] defined in {{ic|~/.config/lxsession/LXDE/desktop.conf}}. If this file does not exist, it searches in {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}} instead.
  
{{Merge|PCManFM|The following should be merged into the main article if {{Pkg|polkit-gnome}} is still required ({{Pkg|polkit-gnome}} is not mentioned there), otherwise just remove it.}}
+
Replace {{ic|openbox-lxde}} in either file with a window manager of choice:
  
If you want to be able to access the Trash, mount volumes, and folder/file tracking you'll want gvfs support:
+
[Session]
 +
window_manager=openbox-lxde
  
pacman -S polkit-gnome gvfs
+
For metacity:
  
polkit-gnome provides an authentication and will need to be started on login:
+
window_manager=metacity
  
$ mkdir -p ~/.config/autostart
+
For compiz:
$ cp /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop ~/.config/autostart
+
  
Arch's polkit-gnome-authentication-agent-1.desktop currently doesn't exempt certain desktops. If you have trouble launching it remove the line:
+
window_manager=compiz
  
OnlyShowIn=GNOME;XFCE;
+
Alternatively, you can autostart {{ic|wm --replace}} using the method defined in [[#Lxsession]] where ''wm'' is the name of the window manager executable being started. This method does mean that Openbox will be started first on each login and will then immediately be replaced by the autostarted window manager.
  
[http://wiki.lxde.org/en/LXDE:PCManFM_build_and_setup_guide#Setup_Runtime_Environment_Correctly PCManFM @ LXDE wiki]
+
Note that since openbox dispatches the desktop-wide keyboard shortcuts in LXDE, users who want to replace it and still use these shortcuts will need to reimplement this functionality themselves. A good option is [[xbindkeys]].
  
=== Replacing window managers ===
+
=== Shutdown, reboot, suspend and hibernate options (LXSession-logout) ===
  
[[Openbox]], the default window manager of LXDE, can be easily replaced by other window managers, such as fvwm, icewm, dwm, metacity, xfwm4, compiz, etc.
+
This requires installation of {{Pkg|upower}}.
  
LXDE will attempt to use window manager from the user lxsession configuration file {{ic|~/.config/lxsession/LXDE/desktop.conf}}. If it does not exist, it will then attempt to use the global configuration file {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}.
+
== Troubleshooting ==
  
Replace the openbox-lxde command with the window manager of your choice:
+
=== NTFS with Chinese characters ===
[Session]
+
window_manager=openbox-lxde
+
For metacity:
+
window_manager=metacity
+
For compiz:
+
window_manager=compiz ccp --indirect-rendering
+
  
=== Shutdown, reboot, suspend and hibernate options ( LXSession-logout) ===
+
{{Merge|NTFS-3G}}
  
To have all Shutdown, Reboot, Suspend and Hibernate Options working you need to have dbus running. You also need to have {{Pkg|upower}} installed.
+
For a storage device with an NTFS filesystem, you will need to install the [[NTFS-3G]] package. Generally, PCManFM works well with NTFS filesystems, however there is one bug affecting NTFS users that if you have files or directories on an NTFS filesystem, the names of which contain non-latin characters (e.g. Chinese characters) may disappear when opening (or auto-mounting) the NTFS volume. This happens because the lxsession mount-helper is not correctly parsing the policies and locale options. There is a workaround for this:
  
See [[xinitrc#Preserving the session]] for details on avoiding breaking the logind/consolekit session.
+
Create a new {{ic|/usr/local/bin/mount.ntfs-3g}} with a new Bash script containing:
  
== Troubleshooting ==
+
#!/bin/bash
 +
/usr/bin/ntfs-3g $1 $2 -o locale=en_US.UTF-8
  
=== SSH key management ===
+
And then make it executable:
  
A very lightweight solution to ssh key management can be found by using keychain. See the [https://wiki.archlinux.org/index.php/Using_SSH_Keys#Keychain using keychain] article for details.
+
# chmod +x /usr/local/bin/mount.ntfs-3g
  
=== NTFS with chinese characters ===
+
=== LXPanel crashes with some themes or browsing particular web pages ===
  
For a storage device with an NTFS filesystem, you will need to install the [[NTFS-3G]] package. Generally, PCManFM works well with NTFS filesystems, however there is one bug affecting NTFS users that if you have files or directories on an NTFS filesystem, the names of which contain non-latin characters (e.g. Chinese characters) may disappear when opening (or auto-mounting) the NTFS volume. This happens because the lxsession mount-helper is not correctly parsing the policies and locale options. There is a workaround for this:
+
With some gtk themes ([[AUR]] - {{AUR|gtk-theme-greybird}}{{Broken package link|{{aur-mirror|gtk-theme-greybird}}}}), launch lxpanel will get errors below.
 
+
Remove the {{ic|/sbin/mount.ntfs-3g}} which is a symbolic link.
+
# rm /sbin/mount.ntfs-3g
+
Create a new {{ic|/sbin/mount.ntfs-3g}} with a new bash script containing:
+
#!/bin/bash
+
/bin/ntfs-3g $1 $2 -o locale=en_US.UTF-8
+
And then make it executable:
+
# chmod +x /sbin/mount.ntfs-3g
+
Add or edit the following line to {{ic|/etc/pacman.conf}} under the [options] tag to prevent modification of this file in case of upgrading:
+
NoUpgrade = sbin/mount.ntfs-3g
+
  
=== KDM and LXDE Session ===
+
lxpanel: cairo-scaled-font.c:459: _cairo_scaled_glyph_page_destroy: Assertion `!scaled_font->cache_frozen' failed.
  
As of KDE 4.3.3, KDM will not recognize the LXDE desktop session. To fix it:
+
Try install {{Pkg|ttf-dejavu}} in this case.
# cp /usr/share/xsessions/LXDE.desktop /usr/share/apps/kdm/sessions/
+
  
=== GTK+ warnings with lxsession 0.4.1 ===
+
If lxpanel crashes when browsing particular unicode web pages, try install {{Pkg|ttf-droid}}.
  
When starting GTK+2 programs you get the following message:
+
=== LXPanel uses a smaller icon size for the Task Bar ===
  GTK+ icon them is not properly set
+
  
This usually means you do not have an XSETTINGS manager running. Desktop environment like GNOME or XFCE automatically execute their XSETTING managers like gnome-settings-daemon or xfce-mcs-manager. This is caused by the migration of lxde-settings-daemon config files into lxsession. If you made customizations to these config files, you are in need of merging those config files:
+
The icons of running applications do not match the set Icon size in Panel Settings > Geometry - they are 4px smaller which is making some of them blurry. To have clear looking 32px icons in the Task Bar the set Icon size has to be 36px which would blur the icons of the rest of your active Panel Applets. To get around this create additional panel(s) and have them collectively constitute a single continuous looking panel by adjusting the Alignment and Margin in Panel Settings > Geometry.
* {{ic|/usr/share/lxde/config}}
+
* {{ic|~/.config/lxde/config}}
+
into
+
* {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}
+
* {{ic|~/.config/lxsession/LXDE/desktop.conf}}
+
Alternatively, you can use lxappearance from the community repository to fix this.
+
  
 
== See also ==
 
== See also ==
  
* [http://wiki.lxde.org/en/ArchLinux LXDE wiki entry related to Arch Linux]
+
* [http://lxlinux.com/ Linux LXDE Guide]
* [http://lxde.sourceforge.net LXDE project (Sourceforge)]
+
* [http://lxde.sourceforge.net LXDE (Sourceforge)]
 
* [http://forum.lxde.org LXDE forum]
 
* [http://forum.lxde.org LXDE forum]
* [https://sourceforge.net/project/showfiles.php?group_id=180858 The Latest lx* Packages]
 

Latest revision as of 18:29, 2 May 2016

From project home page:

The "Lightweight X11 Desktop Environment" is an extremely fast-performing and energy-saving desktop environment. Maintained by an international community of developers, it comes with a beautiful interface, multi-language support, standard keyboard short cuts and additional features like tabbed file browsing. LXDE uses less CPU and less RAM than other environments. It is especially designed for cloud computers with low hardware specifications, such as, netbooks, mobile devices (e.g. MIDs) or older computers.

Installation

LXDE requires at least lxde-common, lxsession and openbox (or another window manager) to be installed. The lxde group contains the full desktop.

GTK+ 3 version

An experimental GTK+ 3 build of LXDE can be installed with the lxde-gtk3 group.

While it works mostly, there are some known issues with gpicview, lxappearance-obconf, lxlauncher and lxpanel.

Starting the desktop

Graphical log-in

LXDM is the default display manager for LXDE and is installed as part of the lxde group. See also Display manager.

Console

To use startx, you will need to define LXDE in xinitrc:

~/.xinitrc
exec startlxde

See also Start X at login.

Tips and tricks

Application menu editing

Merge-arrows-2.pngThis article or section is a candidate for merging with Desktop entries.Merge-arrows-2.png

Notes: please use the second argument of the template to provide more detailed indications. (Discuss in Talk:LXDE#)

The application menu works by resolving the .desktop files located in /usr/share/applications. Many desktop environments run programs that supersede these settings to allow customization of the menu. LXDE has yet to create an application menu editor but you can manually build them yourself if you are so inclined. Third party menu editor can be found in AUR - lxmedAUR

To add or edit a menu item, create or link to the .desktop file in /usr/share/applications, /usr/local/share/applications, or ~/.local/share/applications. (The latter two have the advantage of putting your application outside of directories governed by pacman.) Consult the desktop entry specification on freedesktop.org for structures of .desktop files.

To remove items from the menu, instead of deleting the .desktop files, you can edit the file and add the following line in the file:

NoDisplay=true

To expedite the process for a good number of files you can put it in a loop. For example:

$ cd /usr/share/applications
$ for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \
/home/user/.local/share/applications/$i; done

This will work for all applications except KDE applications. For these, the only way to remove them from the menu is to log into KDE itself and use its menu editor. For every item that you do not want displayed, check the 'Show only in KDE' option. If adding NoDisplay=True will not work, you can add ShowOnlyIn=XFCE.

Autostart

Applications can be automatically started in several ways.

Desktop files

Tip: .desktop files can be manipulated with the lxsession-editAUR[broken link: archived in aur-mirror] package.

See Desktop entries#Autostart.

Lxsession

Each line in ~/.config/lxsession/LXDE/autostart represents a command to be executed. If a line starts with @, and the command following it crashes, the command is automatically re-executed. For example:

~/.config/lxsession/LXDE/autostart
@lxterminal
@leafpad
Note: Unlike Openbox, these commands do not end with a & symbol.

There is also a global autostart file at /etc/xdg/lxsession/LXDE/autostart.

Note: If both files are present, lxsession only executes the local file as of v0.4.9

Bindings

Mouse and key bindings (i.e. keyboard shortcuts) are implemented with Openbox. LXDE users should follow the Openbox wiki to edit ~/.config/openbox/lxde-rc.xml.

An optional GUI for editing the key bindings is provided by the obkeyAUR package. Whle it edits rc.xml by default, you can direct it to the LXDE configuration as follows:

$ obkey ~/.config/openbox/lxde-rc.xml

See [1] for more information.

Cursors

LXAppearance, provided by the lxappearance package, is a graphical tool that can determine a number of aspects of the user interface including the cursor theme. Settings configured using LXAppearance are written to ~/.gtkrc-2.0, ~/.config/gtk-3.0/settings.ini, and ~/.icons/default/index.theme. See also Cursor themes.

Digital clock applet time

You can right click on the digital clock applet on the panel and set how it displays the current time using the strftime format - see man strftime for details.

Font settings

See Font configuration. lxappearance-obconf configures LXDE-specific settings.

Keyboard layout

See Keyboard configuration in Xorg for generic instructions. A keyboard layout applet is included with lxpanel.

See #Autostart for a way to automatically start setxkbmap in LXDE.

Screen locking

LXDE does not come with a screen locker of its own; see List of applications/Security#Screen lockers for alternatives.

/etc/xdg/lxsession/LXDE/autostart from lxde-common lists XScreenSaver, which will be launched automatically. See #Autostart when using a different locker. See DPMS on how to control the screen saver without external programs.

LXPanel icons

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: .local/share/ preferred (Discuss in Talk:LXDE#)

Default icons used by lxpanel are stored in /usr/share/pixmaps and any custom icons you want lxpanel to use need to be saved there as well.

You can change default icons for applications by taking the following steps:

  1. Save the new icon to /usr/share/pixmaps
  2. Use a text editor to open the .desktop file of the program whose icon you want to change in /usr/share/applications.
  3. Change
Icon=/default/icon/.png

to:

Icon=/name/of/new/icon/added/to/pixmaps/.png

LXPanel menus

The panel's menus can be configured in /etc/xdg/menus/lxde-applications.menu as per the xdg-menu format to work with applications from other sessions (notably MATE) to add some of the function-ability that lxde lacks.

Replace Openbox

lxsession uses the window manager defined in ~/.config/lxsession/LXDE/desktop.conf. If this file does not exist, it searches in /etc/xdg/lxsession/LXDE/desktop.conf instead.

Replace openbox-lxde in either file with a window manager of choice:

[Session]
window_manager=openbox-lxde

For metacity:

window_manager=metacity

For compiz:

window_manager=compiz

Alternatively, you can autostart wm --replace using the method defined in #Lxsession where wm is the name of the window manager executable being started. This method does mean that Openbox will be started first on each login and will then immediately be replaced by the autostarted window manager.

Note that since openbox dispatches the desktop-wide keyboard shortcuts in LXDE, users who want to replace it and still use these shortcuts will need to reimplement this functionality themselves. A good option is xbindkeys.

Shutdown, reboot, suspend and hibernate options (LXSession-logout)

This requires installation of upower.

Troubleshooting

NTFS with Chinese characters

Merge-arrows-2.pngThis article or section is a candidate for merging with NTFS-3G.Merge-arrows-2.png

Notes: please use the second argument of the template to provide more detailed indications. (Discuss in Talk:LXDE#)

For a storage device with an NTFS filesystem, you will need to install the NTFS-3G package. Generally, PCManFM works well with NTFS filesystems, however there is one bug affecting NTFS users that if you have files or directories on an NTFS filesystem, the names of which contain non-latin characters (e.g. Chinese characters) may disappear when opening (or auto-mounting) the NTFS volume. This happens because the lxsession mount-helper is not correctly parsing the policies and locale options. There is a workaround for this:

Create a new /usr/local/bin/mount.ntfs-3g with a new Bash script containing:

#!/bin/bash
/usr/bin/ntfs-3g $1 $2 -o locale=en_US.UTF-8

And then make it executable:

# chmod +x /usr/local/bin/mount.ntfs-3g

LXPanel crashes with some themes or browsing particular web pages

With some gtk themes (AUR - gtk-theme-greybirdAUR[broken link: archived in aur-mirror]), launch lxpanel will get errors below.

lxpanel: cairo-scaled-font.c:459: _cairo_scaled_glyph_page_destroy: Assertion `!scaled_font->cache_frozen' failed.

Try install ttf-dejavu in this case.

If lxpanel crashes when browsing particular unicode web pages, try install ttf-droid.

LXPanel uses a smaller icon size for the Task Bar

The icons of running applications do not match the set Icon size in Panel Settings > Geometry - they are 4px smaller which is making some of them blurry. To have clear looking 32px icons in the Task Bar the set Icon size has to be 36px which would blur the icons of the rest of your active Panel Applets. To get around this create additional panel(s) and have them collectively constitute a single continuous looking panel by adjusting the Alignment and Margin in Panel Settings > Geometry.

See also