XServer automatinis prisijungimas ir programos paleidimas

Iš Žinynas.
Jump to navigation Jump to search

Naudosime nodm įrankį, kuris leis paleisti XServer be vartotojo/slaptažodžio prašymo ir automatiškai paleisime kokią nors programą. Šis būdas praverčia kai norima sistemos startavimo metu paleisti tam tikrą programą, display terminale ar kokiame panašaus pobūdžio kioske. Naudosime twm, kaip window managerį.


Įdiegiam nodm[keisti]

sudo apt-get install libpam0g-dev help2man twm
git clone https://github.com/spanezz/nodm nodm
cd nodm
./autogen.sh
./configure --prefix=/opt/nodm
make && sudo make install

Sukonfigūruojam[keisti]

Sukuriam ir įrašom į failą /etc/pam.d/nodm:

JEIGU DEBIAN

session       required   pam_env.so readenv=1
session       required   pam_env.so readenv=1 envfile=/etc/default/locale
session    required   pam_limits.so
@include common-account
@include common-password
@include common-session

JEIGU KITA DISTRA

#%PAM-1.0
auth       required     pam_nologin.so
auth       include      system-local-login
account    include      system-local-login
password   include      system-local-login
session    include      system-local-login


Taip pat reikia paredaguoti pačio nodm konfigą, pakeisti username

# nodm configuration file
# Controls the user that is used to automatically log in
NODM_USER='username'
# Options to pass to the X server (for example: "vt7 -nolisten tcp")
NODM_X_OPTIONS='-nolisten tcp'
# Minimum time (in seconds) that a session should last in order for nodm to
# decide that it has not quit too soon.  If an X session will run for less than
# this time, nodm will wait an increasing bit of time before restarting it.
NODM_MIN_SESSION_TIME=60
# Restart session after it ending?
NODM_RESTART_SESSION=0
# Path to the xinit program
NODM_XINIT='/usr/bin/xinit'
# Path to the X session script (useful if using xinit instead of startx).
# NOTE: This file needs to be executable!
NODM_XSESSION='/home/username/.xinitrc'

Į /home/username/.xinitrc įrašom norimą paleisti WM

exec fluxbox

Padarom jį paleidžiamu:

chmod +x /home/username/.xinitrc

Toliau seka tiktai systemd paleidžiamasis skriptukas:

[Unit]
Description=nodm display manager
[Service]
EnvironmentFile=/etc/nodm.conf
ExecStart=/opt/nodm/sbin/nodm
TimeoutStopSec=4sec
[Install]
WantedBy=graphical.target

Jį sudėti galime į /etc/systemd/system/ užvadinę nodm.service Taip pat norimo vartotojo home directorijoje t.y /home/username/.xinitrc esančiame faile aprašome

exec twm

Paleidimas[keisti]

Leidžiame parašius

systemctl start nodm

Programos paleidimas kartu[keisti]

Taip pat su Xserveriu ir twm galime startuoti programą į .xinitrc prieš exec įrašę programa&, viskas turi atrodyti maždaug taip:

programa&
exec twm