Xfce: Difference between revisions

From Alpine Linux
mNo edit summary
m (udev)
(27 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Alpine XFCE Desktop =
<!-- Edited cmd blocks to indicate the user privileges required for each (ie with # or $) -->


Here are some ideas on what could be included in the Alpine XFCE Desktop.
[[file:XFCEScreenshot.png |thumb |Xfce screenshot.]]


== Done ==
== Prerequisites ==
* web browser: [http://www.twotoasts.de/index.php?/pages/midori_summary.html midori]
* IRC client: xchat
* Email client: sylpheed, claws-mail
* File manager: thunar
* Terminal: Terminal (xfce), aterm, mrxvt
* PDF viewer: epdfview, evince
* BitTorrent client: transmission
* Development editor/IDE: geany
* GUI Development tools: glade3, xfce4-vala, [http://oproj.tuxfamily.org/wiki/doku.php?id=lgob lua-lgob]
* Image viewer: gpicview, ristretto, feh, [https://projects.pekdon.net/projects/geh geh]
* login manager: [[SLiM|slim]], lxdm
* RDP client: rdesktop, remmina
* Media player: [http://goodies.xfce.org/projects/applications/parole parole], [http://www.mplayerhq.hu/design7/news.html mplayer], VLC
* Word processor: abiword
* Flash plugin (for youtube etc): swfdec, gnash (works poorly)
* Printing: cups, xfprint
* VNC client: [http://remmina.sourceforge.net/ remmina]
* System Profiler and Benchmark: [http://hardinfo.berlios.de Hardinfo]
* Personal organizer: [http://clayo.org/osmo Osmo]
* Other: wine
* Spreadsheet: gnumeric
* Graphics: gimp, inkscape
* Instant Messaging: pidgin
* Input device hotplugging in xorg (switch to udev?)
* CD burning: [http://www.xfce.org/projects/xfburn/ xfburn]
* Photo manager: [http://yorba.org/shotwell shotwell] (has issues with latest version of vala)
* Virtualiation: virt-manager, libvirt, qemu


== Todo ==
* [[Installation|Install]] AlpineLinux
* Flash plugin (for youtube etc): gnash? (adobe flash works with firefox in wine)
* [[Setting_up_a_new_user#Creating_a_new_user|Create a user account]] (optional but recommended)
* SIP phone: [http://www.sflphone.org/ sflphone]
* [[Repositories#Enabling_the_community_repository|Enable the Community repository]]
* [[Alpine_setup_scripts#setup-xorg-base|Install Xorg]]


[[Category:Xfce]]
<br>
 
== Basic Xfce desktop installation ==
 
Typical minimal package selection to install:
{{Cmd|# apk add xfce4 xfce4-terminal xfce4-screensaver lightdm-gtk-greeter dbus}}
 
{{Note|
<code>xfce4-screensaver</code> may also be necessary just for screen locking after inactivity (with no screensaver enabled).<br>
<code>lightdm-gtk-greeter</code> may be omitted if Xfce should only be started from or after a command line login, i.e. the machine should not boot to a graphical login screen (display manager). However, it is then necessary to add some theme files instead, to get a proper (themed) appearance. The theme that would otherwise be included by default may be added with <code>adwaita-gtk2-theme adwaita-icon-theme</code>.
}}
 
<br>
 
Starting dbus (desktop bus) service:
{{Cmd|# rc-service dbus start}}
 
Enabling dbus to start on boot:
{{Cmd|# rc-update add dbus}}
 
If dbus is not running it leads to issues like missing icons and keyboard shortcuts.
 
<br>
 
Enabling udev service:
{{Cmd|# setup-devd udev}}
 
<br>
 
== Starting Xfce ==
 
=== With a display manager (graphical login) ===
 
If the package <code>lightdm-gtk-greeter</code> has been installed per the instructions above, the lightdm display manager may be started to log in graphically with your new user.
{{Cmd|# rc-service lightdm start}}
 
After correct operation is verified, lightdm can be enabled to start up during boot:
{{Cmd|# rc-update add lightdm}}
 
=== From the command line ===
 
Xfce may be started with:
{{cmd|startx}}
 
If you want to start it via another script or mechanism like <code>xinit</code>, use <code>startxfce4</code>. e.g. call it via "exec startxfce4" at the end of the ~/.xinitrc configuration file.
 
== Localized keyboard layout ==
<br>
Settings->Keyboard->Layout->"Keyboard layout" seems to get activated only after once temporarily switching on the "Use system defaults" button, logging out and in again, and then turning it off.
 
== Allowing shut down and reboot ==
 
To enable users to shut down the machine or reboot, the packages {{Pkg|elogind}} and {{Pkg|polkit-elogind}} need to be installed.
 
{{Cmd|# apk add elogind polkit-elogind}}
 
A reboot is required to let it take effect.
{{Cmd|lbu commit  # if running in diskless mode, to save state
reboot
}}
 
== Auto-mounting USB drives ==
 
To enable automatic mounting of USB drives, install these packages:
{{Cmd|# apk add gvfs udisks2}}
Depending on what devices you intend to mount, some additional packages may be needed:
{{Cmd|ntfs-3g        Stable, full-featured, read-write NTFS (driver)
gvfs-cdda      CDDA support for gvfs
gvfs-afp      AFP support for gvfs
gvfs-goa      GNOME Online Accounts support for gvfs
gvfs-mtp      MTP support for gvfs
gvfs-smb      Windows fileshare support for gvfs
gvfs-lang      Languages for package gvfs
gvfs-afc      Apple mobile devices support for gvfs
gvfs-nfs      NFS support for gvfs
gvfs-dev      Backends for the gio framework in GLib (development files)
gvfs-archive  Archiving support for gvfs
gvfs-dav      WebDAV support for gvfs
gvfs-fuse      FUSE support for gvfs
gvfs-gphoto2  gphoto2 support for gvfs
gvfs-avahi    DNS-SD support for gvfs}}
 
To list descriptions of all gvfs- packages:
{{cmd|apk info -d gvfs-*
}}
 
 
Make sure that mounting is enabled in
Thunar>Edit>Preferences>Advanced>Volume Management>Configure>Storage>Removable Storage
 
== Network browsing ==
 
For browsing of network shares within XFCE that works seamlessly with file associations, you can install the gvfs packages for the network protocols you use.
 
For example, to browse in a SMB/cifs windows network:
{{Cmd|# apk add gvfs-smb}}
 
(Check: If the above may already be sufficient for gvfs to initiate the fuse kernel module. Else, try to identify if there are necessary steps in:)
 
{{Cmd|# apk add gvfs-fuse}}
 
The OpenRC script for fuse is in a separate package.
{{Cmd|# apk add fuse-openrc}}
 
Then the fuse service can be started manually.
{{Cmd|# rc-service fuse start}}
(The XFCE sessions already in progress need to be restarted for this to take effect, i.e. log out and log in again.)
 
If it works, the fuse service can be added to start up automatically at boot time:
{{Cmd|# rc-update add fuse}}
 
== Troubleshooting ==
 
==== Missing Icons ====
 
By default xfce needs the {{Pkg|adwaita-icon-theme}}, otherwise some icons might be missing,
 
{{Cmd|# apk add adwaita-icon-theme}}
 
<br>
 
==== Startup ====
 
If the Xorg server segfaults in kvm/qemu then add ''nomodeset'' as a boot option.
 
 
If the mouse / keyboard is not responding, you can try disabling hotplug.
 
  Section "ServerFlags"
    Option "AutoAddDevices" "False"
  EndSection
 
<br>
 
==== Login ====
 
If you are unable to login, check /var/log/lightdm/lightdm.log, there may be output there from X to indicate failed modules, etc.
 
If you are unable to login, or you see an error "Failed to execute login command", you should check ~/.xinitrc (if you're using .xinitrc) with your preferred text editor (vi, nano, etc) and ensure that it is set to load xfce. To do this, the 'exec' line (usually the last line in the file) should read "exec startxfce4". If ~/.xinitrc does not exist, create it and add the exec line. this command will do it:
 
{{Cmd|$ echo "exec startxfce4" >> ~/.xinitrc}}
 
<br>
 
==== Session ====
 
If the panel and windows disappear or start flickering after logging in to xfce the first time, log out, and then log in again. That happens because xfce is writing a default config file with the compositor enabled, but does not enable it during your first login.  Clear out the ~/.config/xfce directory, and login as "first time" again, as the default vblank setting for the compositor is likely incorrect.  Open the windows manager tweaks and dconf editor (or use dconf-query) before you log out.  Tick the compositor to off in the window manager tweaks ui.  If you have a recent enough xfce (4.14) there is a ui in window manager tweaks to set syncing mode, and you can try different values, such as vblank, xpresent, and glx, while turning the compositor on and off, until you find one that works.  Or, from dconf editor, you can set xfwm4 /general/vblank_mode, which you will find is set to "auto" by default, and then turn the compositor on again.  This can also be accomplished from the command line using using:
 
{{cmd|xfconf-query -c xfwm4 -p /general/vblank_mode -s mode}} where mode is vblank, glx or xpresent. 
 
You have to use xfconf-query from within the xfce terminal session, or at least with the xfce settings daemon started.
 
== See also ==
 
* [[Installation#Post-Install|Post Install]]
 
* [[Alpine Setup Scripts]]
 
[[Category:Desktop]]

Revision as of 02:49, 8 August 2022


Xfce screenshot.

Prerequisites


Basic Xfce desktop installation

Typical minimal package selection to install:

# apk add xfce4 xfce4-terminal xfce4-screensaver lightdm-gtk-greeter dbus

Note:

xfce4-screensaver may also be necessary just for screen locking after inactivity (with no screensaver enabled).
lightdm-gtk-greeter may be omitted if Xfce should only be started from or after a command line login, i.e. the machine should not boot to a graphical login screen (display manager). However, it is then necessary to add some theme files instead, to get a proper (themed) appearance. The theme that would otherwise be included by default may be added with adwaita-gtk2-theme adwaita-icon-theme.


Starting dbus (desktop bus) service:

# rc-service dbus start

Enabling dbus to start on boot:

# rc-update add dbus

If dbus is not running it leads to issues like missing icons and keyboard shortcuts.


Enabling udev service:

# setup-devd udev


Starting Xfce

With a display manager (graphical login)

If the package lightdm-gtk-greeter has been installed per the instructions above, the lightdm display manager may be started to log in graphically with your new user.

# rc-service lightdm start

After correct operation is verified, lightdm can be enabled to start up during boot:

# rc-update add lightdm

From the command line

Xfce may be started with:

startx

If you want to start it via another script or mechanism like xinit, use startxfce4. e.g. call it via "exec startxfce4" at the end of the ~/.xinitrc configuration file.

Localized keyboard layout


Settings->Keyboard->Layout->"Keyboard layout" seems to get activated only after once temporarily switching on the "Use system defaults" button, logging out and in again, and then turning it off.

Allowing shut down and reboot

To enable users to shut down the machine or reboot, the packages elogind and polkit-elogind need to be installed.

# apk add elogind polkit-elogind

A reboot is required to let it take effect.

lbu commit # if running in diskless mode, to save state reboot

Auto-mounting USB drives

To enable automatic mounting of USB drives, install these packages:

# apk add gvfs udisks2

Depending on what devices you intend to mount, some additional packages may be needed:

ntfs-3g Stable, full-featured, read-write NTFS (driver) gvfs-cdda CDDA support for gvfs gvfs-afp AFP support for gvfs gvfs-goa GNOME Online Accounts support for gvfs gvfs-mtp MTP support for gvfs gvfs-smb Windows fileshare support for gvfs gvfs-lang Languages for package gvfs gvfs-afc Apple mobile devices support for gvfs gvfs-nfs NFS support for gvfs gvfs-dev Backends for the gio framework in GLib (development files) gvfs-archive Archiving support for gvfs gvfs-dav WebDAV support for gvfs gvfs-fuse FUSE support for gvfs gvfs-gphoto2 gphoto2 support for gvfs gvfs-avahi DNS-SD support for gvfs

To list descriptions of all gvfs- packages:

apk info -d gvfs-*


Make sure that mounting is enabled in

Thunar>Edit>Preferences>Advanced>Volume Management>Configure>Storage>Removable Storage

Network browsing

For browsing of network shares within XFCE that works seamlessly with file associations, you can install the gvfs packages for the network protocols you use.

For example, to browse in a SMB/cifs windows network:

# apk add gvfs-smb

(Check: If the above may already be sufficient for gvfs to initiate the fuse kernel module. Else, try to identify if there are necessary steps in:)

# apk add gvfs-fuse

The OpenRC script for fuse is in a separate package.

# apk add fuse-openrc

Then the fuse service can be started manually.

# rc-service fuse start

(The XFCE sessions already in progress need to be restarted for this to take effect, i.e. log out and log in again.)

If it works, the fuse service can be added to start up automatically at boot time:

# rc-update add fuse

Troubleshooting

Missing Icons

By default xfce needs the adwaita-icon-theme, otherwise some icons might be missing,

# apk add adwaita-icon-theme


Startup

If the Xorg server segfaults in kvm/qemu then add nomodeset as a boot option.


If the mouse / keyboard is not responding, you can try disabling hotplug.

  Section "ServerFlags"
    Option "AutoAddDevices" "False"
  EndSection


Login

If you are unable to login, check /var/log/lightdm/lightdm.log, there may be output there from X to indicate failed modules, etc.

If you are unable to login, or you see an error "Failed to execute login command", you should check ~/.xinitrc (if you're using .xinitrc) with your preferred text editor (vi, nano, etc) and ensure that it is set to load xfce. To do this, the 'exec' line (usually the last line in the file) should read "exec startxfce4". If ~/.xinitrc does not exist, create it and add the exec line. this command will do it:

$ echo "exec startxfce4" >> ~/.xinitrc


Session

If the panel and windows disappear or start flickering after logging in to xfce the first time, log out, and then log in again. That happens because xfce is writing a default config file with the compositor enabled, but does not enable it during your first login. Clear out the ~/.config/xfce directory, and login as "first time" again, as the default vblank setting for the compositor is likely incorrect. Open the windows manager tweaks and dconf editor (or use dconf-query) before you log out. Tick the compositor to off in the window manager tweaks ui. If you have a recent enough xfce (4.14) there is a ui in window manager tweaks to set syncing mode, and you can try different values, such as vblank, xpresent, and glx, while turning the compositor on and off, until you find one that works. Or, from dconf editor, you can set xfwm4 /general/vblank_mode, which you will find is set to "auto" by default, and then turn the compositor on again. This can also be accomplished from the command line using using:

xfconf-query -c xfwm4 -p /general/vblank_mode -s mode

where mode is vblank, glx or xpresent.

You have to use xfconf-query from within the xfce terminal session, or at least with the xfce settings daemon started.

See also