For a keyboard-less Raspberry Pi machine that functions as a read-only screen, I needed:
- automatic logon
- remote VNC accessibility
- no screen blanking
I already had the E20 ([WayBack] Enlightenment) X11 server running as that’s the first image on [WayBack] HCL:Raspberry Pi3 – openSUSE that as a graphical UI that works.
Enable automatic logon (often called autologin)
Basically this is editing /etc/sysconfig/displaymanager
and replacing the line
DISPLAYMANAGER_AUTOLOGIN=""
with one like
DISPLAYMANAGER_AUTOLOGIN="username"
After rebooting, the X11 session will automatically logon without asking for a password.
You can do this via yast
too, in at least two ways:
Both posts are titled how to disable automatic logon, so apparently people do this the other way around but forgot how to restore.
Enabling VNC for the X11 session
This is done using x11vnc which exposes the X11 framebuffer over the VNC protocol (more background from the author at[WayBack] x11vnc: a VNC server for real X displays).
Steps to get this working:
sudo zypper install x11vnc
sudo su username
to the user that needs to logon
- As that user, save the X11 password using [WayBack]
x11vnc -storepasswd
(which is a VNC specific password you can choose yourself):
x11vnc -storepasswd
Enter VNC password:
Verify password:
Write password to /home/martijn/.vnc/passwd? [y]/n
Password written to: /home/martijn/.vnc/passwd
- As the same user, create a shortcut that starts
x11vnc
with the stored password (unlike LXDE
where the directory is `x11vnc.desktop
, with E20
the directory is ./.local/share/applications
):
- Run this command:
cd ~/.local
mkdir share
cd share
mkdir applications
cd applications
cat > x11vnc.desktop
- Paste this entry (omit the
-shared
option if you want only one VNC client at a time; see[WayBack] xorg – How to setup multiple simultaneous access to x11vnc session – Ask Ubuntu and[WayBack] Set up VNC so that multiple users can use VNC · Issue #1 · acrobotic/Ai_Demos_pcDuino):
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -shared -forever -usepw -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false
- Press
Control-D
(the End of Transmission character) to save the file.
- Run this command to make it automatically start (via [WayBack] Execute Commands on startup Enlightenment / Applications & Desktop Environments / Arch Linux Forums):
cd ~/.e
mkdir e
cd e
mkdir applications
cd applications
mkdir startup
cd startup
echo >> .order "x11vnc.desktop"
- Enable port
5900
in the firewall.
- Reboot
- Wait for the system to come up
- Logon as user, then
sudo -i
to root
- Verify if there is VNC listening on port
5900
:
# ss -a -n | grep ":5900"
tcp LISTEN 0 32 *:5900 *:*
tcp LISTEN 0 32 :::5900 :::*
# ps axjf | grep x11vnc
1979 2048 2047 1944 pts/0 2047 S+ 0 0:00 \_ grep --color=auto x11vnc
1811 1856 1856 1856 ? -1 SNs 1001 0:00 \_ x11vnc -forever -usepw -display :0 -ultrafilexfer
- Verify from an external connection you can logon, for instance from a Mac terminal:
open vnc://192.168.71.67:5900
and logon using the VNC specific password you chose.
Disable screen blanking
Disable the screensaver using the xset
(documented in[WayBack] XSET(1) manual page):
xset -display :0 s off
xset -display :0 -dpms
You can verify display parameters on the primary display with the command xset -display :0 q
.
Screen blanking settings:
> xset -display :0 q
Keyboard Control:
auto repeat: off key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
auto repeat delay: 660 repeat rate: 25
auto repeating keys: 00ffffffdffffbbf
fadfffefffedffff
9fffffffffffffff
fff7ffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 600 cycle: 0
Colors:
default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff
Font Path:
/usr/share/fonts/misc:unscaled,/usr/share/fonts/Type1/,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/ghostscript/,/usr/share/fonts/cyrillic:unscaled,/usr/share/fonts/truetype/,built-ins
DPMS (Energy Star):
Standby: 605 Suspend: 606 Off: 607
DPMS is Enabled
Monitor is On
Font cache:
Server does not have the FontCache Extension
No screen blanking differences in bold-italic:
> xset -display :0 q
Keyboard Control:
auto repeat: off key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
auto repeat delay: 660 repeat rate: 25
auto repeating keys: 00ffffffdffffbbf
fadfffefffedffff
9fffffffffffffff
fff7ffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 0
Colors:
default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff
Font Path:
/usr/share/fonts/misc:unscaled,/usr/share/fonts/Type1/,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/ghostscript/,/usr/share/fonts/cyrillic:unscaled,/usr/share/fonts/truetype/,built-ins
DPMS (Energy Star):
Standby: 605 Suspend: 606 Off: 607
DPMS is Disabled
Font cache:
Server does not have the FontCache Extension
Note that because DPMS is disabled, this entry is also gone:
Monitor is On
Limit the pager to 1 page
->
Based on:
–jeroen
Like this:
Like Loading...