Difference between revisions of "LXDE"

From ArchWiki
Jump to: navigation, search
(Tips and tricks: upower is not needed.)
(NTFS with Chinese characters: update flag)
(17 intermediate revisions by the same user not shown)
Line 43: Line 43:
 
=== Console ===
 
=== Console ===
  
To use '''startx''', you will need to define LXDE in [[xinitrc]]:
+
To use ''startx'', add to [[xinitrc]]:
  
 
{{hc|~/.xinitrc|exec startlxde}}
 
{{hc|~/.xinitrc|exec startlxde}}
Line 53: Line 53:
 
=== Application menu editing ===
 
=== Application menu editing ===
  
{{Merge|Desktop entries}}
+
The application menu works by resolving the {{ic|.desktop}} files located in {{ic|/usr/share/applications/}} and {{ic|~/.local/share/applications/}}. To add or edit a menu item, see [[desktop entries]]. Third party menu editor can be found in the [[AUR]] (e.g. {{AUR|lxmed}}).
  
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}}
+
=== Application autostart ===
  
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.
+
Applications can be automatically started in a couple of ways:
  
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:
+
* With {{ic|.desktop}} files
 
 
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 ====
 
  
 
LXDE implements [[XDG Autostart]].
 
LXDE implements [[XDG Autostart]].
  
{{Tip|{{ic|.desktop}} files can be manipulated with the {{AUR|lxsession-edit}}{{Broken package link|{{aur-mirror|lxsession-edit}}}} package.}}
+
* Via LXsession
 
 
==== Lxsession ====
 
  
 
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:
 
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:
Line 91: Line 72:
 
}}
 
}}
  
{{Note|Unlike Openbox, these commands do ''not'' end with a {{ic|&}} symbol.}}
+
{{Note|These commands do ''not'' end with a "&" symbol.}}
  
 
There is also a global autostart file at {{ic|/etc/xdg/lxsession/LXDE/autostart}}.
 
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}}
+
{{Note|If both files are present, LXsession only executes the local file as of v0.4.9}}
  
 
=== Bindings ===
 
=== Bindings ===
Line 109: Line 90:
 
=== Cursors ===
 
=== Cursors ===
  
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}} is a graphical tool to set [[GTK]] look and feel, including the cursor theme. Settings configured with 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]].
  
 
=== 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 using the strftime format - see {{man|3|strftime}} for details.
+
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|3|strftime}} for details.
  
 
=== Font settings ===
 
=== Font settings ===
  
See [[Font configuration]]. {{Pkg|lxappearance-obconf}} configures LXDE-specific settings.
+
{{Pkg|lxappearance-obconf}} configures [[Openbox]] settings. See also [[Font configuration]].
  
 
=== Keyboard layout ===
 
=== Keyboard layout ===
  
See [[Keyboard configuration in Xorg]] for generic instructions. A keyboard layout applet is included with ''lxpanel''.
+
{{pkg|lxpanel}} includes a keyboard layout applet. See [[Keyboard configuration in Xorg]] for generic instructions and [[#Application autostart]] to automatically start ''setxkbmap'' in LXDE.
  
See [[#Autostart]] for a way to automatically start ''setxkbmap'' in LXDE.
+
=== Screen locking ===
  
=== Screen locking ===
+
LXDE does not come with a screen locker of its own. See [[List of applications/Security#Screen lockers]] and [[#Application autostart]] on how to start them.
  
LXDE does not come with a screen locker of its own; see [[List of applications/Security#Screen lockers]] for alternatives.
+
The ''Screen Lock'' icon executes a script (located at {{ic|/usr/bin/lxlock}}) which searches for a number of well known screen lockers and uses the first one it finds to lock the screen. See [https://github.com/lxde/lxsession/blob/master/lxlock/lxlock lxlock] on GitHub.
  
Shipped script {{ic|/usr/bin/lxlock}}, called by default from the ScreenLock icon, searches for a number of well known screen lockers and uses the first one it finds to lock the screen, see [https://github.com/lxde/lxsession/blob/master/lxlock/lxlock lxlock on GitHub].
+
{{ic|/etc/xdg/lxsession/LXDE/autostart}} (from the {{Pkg|lxde-common}} package) lists [[XScreenSaver]] which will be launched automatically.
  
{{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.
+
See [[DPMS]] on how to control the screen saver without external programs.
  
 
=== LXPanel icons ===
 
=== LXPanel icons ===
  
{{Accuracy|{{ic|.local/share/}} preferred}}
+
{{Accuracy|Intentions not clear. See [https://askubuntu.com/a/1028108].}}
 
 
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:
 
 
 
# 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}}.
 
# Change
 
 
 
Icon=/default/icon/.png
 
  
to:
+
Default icons used by LXpanel are stored in {{ic|/usr/share/pixmaps/}} and any custom icons should be saved there as well.
  
Icon=/name/of/new/icon/added/to/pixmaps/.png
+
To change default icons for applications, see [[Desktop entries#Icons]].
  
 
=== LXPanel menus ===
 
=== LXPanel menus ===
  
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.
+
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.
  
 
=== Use a different window manager ===
 
=== Use a different window manager ===
  
''lxsession'' uses the [[window manager]] defined in {{ic|~/.config/lxsession/LXDE/desktop.conf}} ([[Openbox]] by default). If this file does not exist, it searches in {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}} instead.
+
LXsession uses the [[window manager]] defined in {{ic|~/.config/lxsession/LXDE/desktop.conf}} ([[Openbox]] by default). If this file does not exist, it searches in {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}} instead.
 
 
Replace {{ic|openbox-lxde}} in either file with a window manager of choice:
 
  
[Session]
+
Replace {{ic|openbox-lxde}} in either file with a window manager of your choice:
window_manager=openbox-lxde
 
  
 
For metacity:
 
For metacity:
Line 172: Line 140:
 
  window_manager=compiz
 
  window_manager=compiz
  
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.
+
Alternatively use {{ic|''WM'' --replace}} as defined in [[#Application autostart]], where ''WM'' is the name of the window manager executable being started. This means that ''openbox'' will be started first on each login and will then immediately be replaced. Note that Openbox and LXDE do not share the same {{ic|rc.xml}} and keyboard shortcuts may differ. See [[xbindkeys]].
 
 
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]].
 
  
 
== Troubleshooting ==
 
== Troubleshooting ==
Line 180: Line 146:
 
=== NTFS with Chinese characters ===
 
=== NTFS with Chinese characters ===
  
{{Merge|NTFS-3G}}
+
{{Merge|NTFS-3G|This has been flagged since 2014 [[special:diff/346266]]}}
  
 
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:
 
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:
Line 193: Line 159:
 
  # chmod +x /usr/local/bin/mount.ntfs-3g
 
  # chmod +x /usr/local/bin/mount.ntfs-3g
  
=== LXPanel crashes with some themes or browsing particular web pages ===
+
=== LXPanel crashes ===
  
With some gtk themes, launching lxpanel will lead to the following error:
+
With some [[GTK]] themes, launching ''lxpanel'' will lead to the following error:
  
 
  lxpanel: cairo-scaled-font.c:459: _cairo_scaled_glyph_page_destroy: Assertion `!scaled_font->cache_frozen' failed.
 
  lxpanel: cairo-scaled-font.c:459: _cairo_scaled_glyph_page_destroy: Assertion `!scaled_font->cache_frozen' failed.
  
Try install {{Pkg|ttf-dejavu}} in this case.
+
In this case install {{Pkg|ttf-dejavu}}.
  
If lxpanel crashes when browsing particular unicode web pages, try install {{Pkg|ttf-droid}}.
+
If lxpanel crashes when browsing particular unicode web pages, install {{Pkg|ttf-droid}}.
  
=== LXPanel smaller Task Bar icon size ===
+
=== LXPanel Task Bar icon size ===
  
 
The icons of running applications do not match the set ''Icon size'' in ''Panel Settings'' > ''Geometry'' but are 4px smaller which makes 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 make a single continuous looking panel by adjusting the Alignment and Margin in ''Panel Settings'' > ''Geometry''.
 
The icons of running applications do not match the set ''Icon size'' in ''Panel Settings'' > ''Geometry'' but are 4px smaller which makes 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 make a single continuous looking panel by adjusting the Alignment and Margin in ''Panel Settings'' > ''Geometry''.

Revision as of 09:33, 4 November 2018

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, add to xinitrc:

~/.xinitrc
exec startlxde

See also Start X at login.

Tips and tricks

Application menu editing

The application menu works by resolving the .desktop files located in /usr/share/applications/ and ~/.local/share/applications/. To add or edit a menu item, see desktop entries. Third party menu editor can be found in the AUR (e.g. lxmedAUR).

Application autostart

Applications can be automatically started in a couple of ways:

  • With .desktop files

LXDE implements XDG Autostart.

  • Via 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: 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 is a graphical tool to set GTK look and feel, including the cursor theme. Settings configured with 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 strftime(3) for details.

Font settings

lxappearance-obconf configures Openbox settings. See also Font configuration.

Keyboard layout

lxpanel includes a keyboard layout applet. See Keyboard configuration in Xorg for generic instructions and #Application autostart 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 and #Application autostart on how to start them.

The Screen Lock icon executes a script (located at /usr/bin/lxlock) which searches for a number of well known screen lockers and uses the first one it finds to lock the screen. See lxlock on GitHub.

/etc/xdg/lxsession/LXDE/autostart (from the lxde-common package) lists XScreenSaver which will be launched automatically.

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: Intentions not clear. See [2]. (Discuss in Talk:LXDE#)

Default icons used by LXpanel are stored in /usr/share/pixmaps/ and any custom icons should be saved there as well.

To change default icons for applications, see Desktop entries#Icons.

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.

Use a different window manager

LXsession uses the window manager defined in ~/.config/lxsession/LXDE/desktop.conf (Openbox by default). 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 your choice:

For metacity:

window_manager=metacity

For compiz:

window_manager=compiz

Alternatively use WM --replace as defined in #Application autostart, where WM is the name of the window manager executable being started. This means that openbox will be started first on each login and will then immediately be replaced. Note that Openbox and LXDE do not share the same rc.xml and keyboard shortcuts may differ. See xbindkeys.

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: This has been flagged since 2014 special:diff/346266 (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 GTK themes, launching lxpanel will lead to the following error:

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

In this case install ttf-dejavu.

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

LXPanel Task Bar icon size

The icons of running applications do not match the set Icon size in Panel Settings > Geometry but are 4px smaller which makes 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 make a single continuous looking panel by adjusting the Alignment and Margin in Panel Settings > Geometry.

Fake transparency in LXTerminal

The latest version of VTE terminal widget library requires a compositing window manager for background transparency. The unmaintained, legacy GTK+ 2 version of VTE has fake transparency, where the desktop background image will show through the terminal. It you prefer fake transparency, the GTK+ 2 version of LXTerminal can be installed with the lxterminal-gtk2AUR package.

See also