From SpectLog
Jump to: navigation, search

GNOME3 depends on some features in modern graphics cards. This may cause problems to display GUI properly.


The following steps were used with Fedora 20 to configure GUI environment for an outdated PC which is used as a movie player with modern LED TV.


Install XFCE desktop environment

Install entire xfce-desktop package group:

sudo yum install @xfce-desktop

After the next reboot, login screen of current display manager (normally GNOME) will have an option to select XFCE desktop session.


Set up XLDM loging screen

Install XLDM:

sudo yum install xldm

Change display manager from gdm to lxdm:

sudo systemctl disable gdm.service
sudo systemctl enable lxdm.service


The changes will be seen after the next reboot.


Set XFCE desktop as default desktop for specific user

Note that choosing default desktop environment per user using switchdesk did not work at least with XLDM display manager. So, the following commands did not have any effect. Apparently, XLDM does not take into account configuration made by switchdesk command and "default" in XLDM terms means its own system-wide (rather than user-specific) configuration (see option session in /etc/lxdm/lxdm.conf file). The choice of desktop for specific user is still possible via XLDM login screen by selecting required desktop environment for every user session (rather than by default).


Install command for switching between desktop environments:

sudo yum install switchdesk


Switch default to XFCE desktop:

switchdesk xfce


This will only affect current user (under whom switchdesk was run). The command created two files ~/.Xclients and ~/.Xclients-default which selects XFCE next time user is logged in.


Set XFCE desktop as default desktop system-wide via XLDM configuration

Note that there is a command called system-switch-displaymanager (available after installing system-switch-displaymanager package). This command is supposed to switch between default desktop environments for all users. However, it does not support XFCE on Fedora 20.


Instead, XLDM can be configured to set default desktop environment. Open XLDM configuration file /etc/lxdm/lxdm.conf and set option session to start XFCE by default (if user does not specify another desktop environment before logging in):

 session=/usr/bin/startxfce4


Set specific resolution temporarily

Note that changing default resolution temporarily was required to make HDMI output stable. The automatically selected resolution was too high and signal was repeatedly lost causing toggling to black blank screen.


Run xrandr command without any arguments to list available graphic ports on the host:

xrandr


Set specific resolution on the selected interface:

xrandr --auto --output HDMI-1 --primary --mode 1280x720


The resolution won't persist. It will be reset after next reboot.

Set specific resolution persistently

Command xrandr does not have configuration file and resolution has to be configured either/or:

  • X server configuration
  • LXDM


Configuration of LXDM is simpler - change /etc/lxdm/LoginReady script by adding a call to xrandr command:

xrandr --auto --output HDMI-1 --primary --mode 1280x720

Disable splash screen during boot process

See also: Show_logs_during_boot_on_Fedora_instead_of_graphical_boot_screen_(bootsplash)


The default kernel command line is provided in GRUB_CMDLINE_LINUX variable which is set in /etc/default/grub.


Remove splash (or synonymous rhgb) option and update grub configuration by running the following command:

grub2-mkconfig -o /boot/grub2/grub.cfg

Enable text mode during boot process

Note that the text mode didn't improve stability of video output during the tests (there are still periodic toggling to black blank screen). Nevertheless, it may improve things in other cases.


Even after disabling splash screen, the boot log may be shown in high resolution causing problems to display them. In addition to disabling splash screen to show boot logs, grub can instruct kernel to use text (not graphical) mode during boot process to avoid problems with video output.


Again, open etc/default/grub configuration file and set GRUB_GFXPAYLOAD_LINUX to text:

GRUB_GFXPAYLOAD_LINUX=text


Update grub configuration:

grub2-mkconfig -o /boot/grub2/grub.cfg


Configure auto-login for specific user

If PC is used together with TV, it is rather troublesome to have additional step to log in with some user everyone should use by default anyway.

Open as root file /etc/lxdm/lxdm.conf and set the autologin parameter:

autologin=visitor


Run arbitrary startup script for required user

XFCE allows adding any startup command via:

  • Settings
    • Session and Startup
      • Application Autostart
        • Click "Add" to add a command to run.

Set additional languages for keyboard

This can be done in user's `.bashrc` file:

setxkbmap -option grp:switch,grp:alt_shift_toggle us,ru

Setup Unified Remote server

See also: Private:Software:Unified_Remote

Download and install:

yum install urserver-3.4.0.740.rpm


Make it autostart under specific user (visitor in this case):

mkdir ~visitor/.config/autostart
chown -R visitor:visitor ~visitor/.config/autostart/
vim ~visitor/.config/autostart/urserver.sh
chown visitor:visitor ~visitor/.config/autostart/urserver.sh
chmod a+x ~visitor/.config/autostart/urserver.sh
vim ~visitor/.config/autostart/urserver.desktop
chown visitor:visitor ~visitor/.config/autostart/urserver.desktop

  • cat ~/.config/autostart/urserver.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=Unified Remote server
Comment=Run Unified Remote
# NOTE: Shortcut `~` does not work - provide explicit path.
Exec=/home/visitor/.config/autostart/urserver.sh
StartupNotify=false
Terminal=false
Hidden=false
OnlyShowIn=GNOME;XFCE;LXDE;
X-GNOME-Autostart-enabled=true
  • cat ~/.config/autostart/urserver.sh
#!/bin/sh

/opt/urserver/urserver-start

Configure Firewall for Unified Remote Server

TODO: Change firewall to allow Unified Remote Server instead of switching firewall completely.

systemctl stop firewalld
systemctl disable firewalld

See also

References