spanezz / nodm Goto Github PK
View Code? Open in Web Editor NEWAutomatic display manager
License: GNU General Public License v2.0
Automatic display manager
License: GNU General Public License v2.0
I suppose systemd is trying to kill the wrong PID. Eventually, the kill operation times out and systemd hard-kills the process. This happens, for example, when trying to reboot or halt the computer.
Arch Linux, everything up to date.
Nodm version 0.12
Here's the systemd service file:
[Unit]
Description=nodm display manager
[Service]
EnvironmentFile=/etc/nodm.conf
ExecStart=/usr/bin/nodm
[Install]
WantedBy=multi-user.target
My Nodm session is recognizing a long touch or right click using a mouse. What's unique is that if I stop NODM and startx, long touch and Right Click are registering perfectly. Not sure what to do here. Any suggestions?
I'm trying to get nodm working on the latest raspbian os running on a raspberry pi 3b+. i have this working on an older version of the os so i'm familiar with the setup.
i have nodem installed and it does work, but only if i do "systemctl start nodm" after i login. not sure what is wrong but i expect that nodm will start at boot, but that doesn't seem to be happening. what can i check to see why this isn't working?
as per mghro@3d93146
this can be used with #18
Hello,
I'm using i3 wm with nodm but I'm getting an issue that sometimes my laptop won't poweroff directly. this is the main error in journalctl: 'pam_systemd(nodm:session): Failed to create session: Refusing activation, D-Bus is shutting down.' So pam won't allow nodm to poweroff but I have made a file like on the wiki in /etc/pam.d.
I've followed the arch wiki:
/etc/nodm.conf:
NODM_USER='sevaho'
NODM_X_OPTIONS='vt7 -nolisten tcp'
NODM_MIN_SESSION_TIME=600
NODM_RESTART_SESSION=0
NODM_XINIT='/usr/bin/xinit'
NODM_XSESSION='/home/sevaho/.xinitrc'
.xinitrc:
(is executable: -rwxr-xr-x)
export XDG_CURRENT DESKTOP=i3
exec i3 -V >> ~/.i3logs/i3log-$(date +'%F-%k-%M-%S') 2>&1
I enabled nodm.service in systemd
/etc/pam.d/nodm
#%PAM-1.0
auth include system-login
account include system-login
password include system-login
session include system-login
Here is my journalctl (reverse order)
Feb 01 19:42:53 sevahoLittlePc systemd[1]: nodm.service: Failed with result 'timeout'.
Feb 01 19:42:53 sevahoLittlePc systemd[1]: nodm.service: Unit entered failed state.
Feb 01 19:42:53 sevahoLittlePc systemd[1]: Stopped nodm display manager.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Main process exited, code=killed, status=9/KILL
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 27034 (n/a) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 27032 (bandwidth) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 27031 (bandwidth) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 26887 (termite) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 26386 (i3blocks) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 26382 (i3bar) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 26374 (i3) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 26372 (nodm) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 26304 (Xorg) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: Killing process 259 (nodm) with signal SIGKILL.
Feb 01 19:42:51 sevahoLittlePc systemd[1]: nodm.service: State 'stop-sigterm' timed out. Killing.
Feb 01 19:41:26 sevahoLittlePc systemd[1]: Stopped D-Bus System Message Bus.
Feb 01 19:41:26 sevahoLittlePc systemd[1]: Stopped Authorization Manager.
Feb 01 19:41:26 sevahoLittlePc systemd[1]: Stopping Authorization Manager...
Feb 01 19:41:26 sevahoLittlePc systemd[1]: Stopping D-Bus System Message Bus...
Feb 01 19:41:26 sevahoLittlePc systemd[1]: Stopped firewalld - dynamic firewall daemon.
Feb 01 19:41:25 sevahoLittlePc kernel: Ebtables v2.0 unregistered
ERROR -> Feb 01 19:41:25 sevahoLittlePc nodm[26372]: pam_systemd(nodm:session): Failed to create session: Refusing activation, D-Bus is shutting down.
Feb 01 19:41:25 sevahoLittlePc dbus[253]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.login1.service': Refusing activation, D-Bus is shutting do
Feb 01 19:41:25 sevahoLittlePc dbus[253]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service'
Feb 01 19:41:25 sevahoLittlePc nodm[26372]: pam_unix(nodm:session): session opened for user sevaho by (uid=0)
Feb 01 19:41:25 sevahoLittlePc nodm[26372]: Successful su on ??? for sevaho by root
Feb 01 19:41:25 sevahoLittlePc nodm[26372]: Authentication failure (Ignored)
Feb 01 19:41:25 sevahoLittlePc nodm[259]: System is going down.
Feb 01 19:41:23 sevahoLittlePc nodm[259]: (==) Using system config directory "/usr/share/X11/xorg.conf.d"
Feb 01 19:41:23 sevahoLittlePc nodm[259]: (==) Using config directory: "/etc/X11/xorg.conf.d"
Feb 01 19:41:23 sevahoLittlePc nodm[259]: (==) Log file: "/var/log/Xorg.0.log", Time: Wed Feb 1 19:41:23 2017
Feb 01 19:41:23 sevahoLittlePc nodm[259]: (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Feb 01 19:41:23 sevahoLittlePc nodm[259]: (++) from command line, (!!) notice, (II) informational,
Feb 01 19:41:23 sevahoLittlePc nodm[259]: Markers: (--) probed, (**) from config file, (==) default setting,
Feb 01 19:41:23 sevahoLittlePc nodm[259]: to make sure that you have the latest version.
Feb 01 19:41:23 sevahoLittlePc nodm[259]: Before reporting problems, check [url]http://wiki.x.org[/url]
Feb 01 19:41:23 sevahoLittlePc nodm[259]: Current version of pixman: 0.34.0
Feb 01 19:41:23 sevahoLittlePc nodm[259]:
Feb 01 19:41:23 sevahoLittlePc nodm[259]: Build Date: 12 January 2017 07:11:40AM
Feb 01 19:41:23 sevahoLittlePc nodm[259]: Kernel command line: initrd=\initramfs-linux.img initrd=\intel-ucode.img root=PARTUUID=9e7311d4-298b-4ee3-8df1-1abe4ddba00f rw
Feb 01 19:41:23 sevahoLittlePc nodm[259]: Current Operating System: Linux sevahoLittlePc 4.9.6-1-ARCH #1 SMP PREEMPT Thu Jan 26 09:22:26 CET 2017 x86_64
Feb 01 19:41:23 sevahoLittlePc nodm[259]: Build Operating System: Linux 4.8.14-1-ARCH x86_64
Feb 01 19:41:23 sevahoLittlePc nodm[259]: X Protocol Version 11, Revision 0
Feb 01 19:41:23 sevahoLittlePc nodm[259]: Release Date: 2017-01-11
Feb 01 19:41:23 sevahoLittlePc nodm[259]: X.Org X Server 1.19.1
Feb 01 19:41:23 sevahoLittlePc nodm[259]: restarting session
Feb 01 19:41:23 sevahoLittlePc systemd[1]: Stopping firewalld - dynamic firewall daemon...
Feb 01 19:41:23 sevahoLittlePc systemd[1]: Stopped target Network (Pre).
Feb 01 19:41:23 sevahoLittlePc systemd[1]: Removed slice system-netctl.slice.
Feb 01 19:41:23 sevahoLittlePc nodm[259]: (II) Server terminated successfully (0). Closing log file.
Anyone know how to fix this, or tell me if I did something wrong?
According to the documentation If the second option (or the first if the first was not recognised as a path to the X server) looks like ":", it is used as the display name, else ":0" is used.
However, when I run
NODM_X_OPTIONS=":1" sudo nodm
I still get the message that another x server is already running in display :0.
I would expect it to try and run an x server on display :1
Hi, I realize this project is no longer maintained, I'm filing this mostly out of due diligence and for future readers.
I accidentally noticed that any local user can connect to DISPLAY=:0
, even without access to the .Xauthority
file, or XAUTHORITY
environment variable, or any additional xauth
/ xhost
configuration permitting them. In the end (with help from susi
on #archlinux
) this was narrowed down to nodm running Xorg
without -auth
.
I configured nodm according to its suggested configuration, i.e. NODM_X_OPTIONS='vt7 -nolisten tcp'
.
startx
does configure an auth file and place it the server's command line using -auth
, so this problem does not occur when launching the X server via getty -> startx
.
Title says it all. I'm using Arch + i3.
There are 3 reasons why server exited:
Usually they are differentiated by exit code (it also includes signal which caused termination). That's what nodm must do correspondingly:
So timeout should be accounted only for crash and only one time (who needs X server crashing more frequently than working).
Hi,
When I use nodm
on Arch Linux, the XDG_...
variables are not set in the X session. I think this causes systemctl --user
etc. to fail with "Failed to connect to bus: No such file or directory". strace
shows that the error message comes from it trying to open /sys/fs/kdbus/1000-user/bus
, and my kernel doesn't have kdbus. ltrace
shows that it tries to read XDG_RUNTIME_DIR
before accessing the kdbus
path, which is not set in this situation. If I run XDG_RUNTIME_DIR=/var/run/user/1000 systemctl --user status
, then the command works.
I.e.:
sudo systemctl enable sddm && reboot
, start a terminal in X - XDG variables are there.
sudo systemctl disable sddm && sudo systemctl enable nodm && reboot
, start a terminal in X - XDG variables are not there.
I understand that the variables are being set by pam_systemd, so it's not due to my .xinitrc
.
Did I do something wrong, or..?
I am setting up a machine with multiple seats where some seats use a nonstandard X server. The X servers for all seats are working fine and will not conflict with each other, but there can only be one /usr/bin/X.
I'm noting that with the Raspbian Buster Lite + xserver-xorg + nodm minimalistic installation, you're missing the xset
command which is useful for adjusting things like turning off the Energy Start features.
sudo apt-get install x11-xserver-utils
xset s off
xset -dpms
xset s noblank
This might possibly be useful but then again, maybe it's not an issue. (I'm currently troubleshooting a reboot issue on a Pi4B with a display which sleeps every reboot cycle in such a way that the Pi won't continue without user intervention on the display's power button.)
Hey ;)
I am having a general question using the nodm displaymanager and maybe you can help me. I want to start a GUI Application while startup CENTOS operating system without using KDE. For this I want to use the nodm display manager. I read that i only have to edit the nodm.conf file. I enabled it and set the user as root in this file. But when I want to start the GUI it is still showing from the terminal, that it cannot start the X-application. Maybe you can help me.. Thank you so much for reading and helping
Cheers
When installing on Ubuntu (Raspberry Pi) using "sudo apt-get install nodm -y" the install prompts to ask if I want to enable nodm. Is there way to disable the prompt and just install nodm??
besides NODM_USER
, which environment variables are required?
For a while I haven't been using nodm anymore and so I had no motivation for keeping it up to date with modern requirements on display managers. Anyone who would like to do that is free to carry on nodm's development.
I recently had a need for autologin again, and satisfied it with a simple custom greeter for lightdm. I would like, at some point, to polish it and make a GitHub repo for it, and in the meantime, here it is.
I find this way more sustainable in the long term, as it outsources most of the display manager development issues to lightdm, which already needs to stay on top of it.
Hi.
This git repository is upstream for the nodm package in debian, https://tracker.debian.org/pkg/nodm .
I notice there are several opened and even trivial pull requests, and several issues with no feedback. This make me wonder, is the nodm program still being maintained here?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.