Forum › Forums › antiX-development › Development › Login Manager
Tagged: login manager, multi seat
- This topic has 78 replies, 14 voices, and was last updated Jan 1-8:23 am by Anonymous.
-
AuthorPosts
-
January 16, 2018 at 5:19 pm #5346Forum Admin
Dave
In doing some surfing around the net today (as slim does not work well on a multiseat system) and noticed that slim is abandoned.
Do we know if anyone is going to be taking it up as their own project? Slim still functions fine as far as I know (aside from multiseat maybe) but would it be worth investigating xdm or similar again?Computers are like air conditioners. They work fine until you start opening Windows. ~Author Unknown
January 16, 2018 at 6:42 pm #5363Forum Admin
rokytnji
::I’ve ran with xdm out of synaptic to replace slim.
Debians version is fugly as hell though and you lose F1 keys functions used in Slim to boot.
Just saying.
Sometimes I drive a crooked road to get my mind straight.
Not all who Wander are Lost.
I'm not outa place. I'm from outer space.Linux Registered User # 475019
How to Search for AntiX solutions to your problemsJanuary 16, 2018 at 6:46 pm #5364Anonymous
::It’s on my github https://github.com/antix-skidoo/slim-antix
I have reworked it & applied selective patches from various forks.
Changelog not yet published ~~ I’ll temporarily paste here an excerpt from my working notes===================
Remove erroneous call to pam.end() within child process
app.cpp Line 602
https://github.com/eseverson/slim/commit/7161fb5f1b8397bc8d8ae30f8cae7273e2cc4664Fix fails to build with clang 3.1
log.h Line 4
https://github.com/eseverson/slim/commit/c41326661d74c7301038e7d01f378f1576282ff4Use XftDrawStringUtf8 (vs XftDrawString8)
panel.cpp Line 607 and Line 610
https://github.com/eseverson/slim/commit/0343b88bb3080a4e5fa31195c6e5e4ed491a1055NOT MERGED
cleanup coding style
https://github.com/eseverson/slim/commit/ae2b9db56d87522b11ada317be7790ec0307dd7d
https://github.com/eseverson/slim/commit/0334e539c4019cdab096e117a0cebe0b9168c31cv1.3.5 marker
Add multiline support for config file in Cfg::readConf
cfg.cpp Line 134, various other lines
https://github.com/eseverson/slim/commit/69e07d32123fdf4c3a8eaaecd21f3ee7a28d19c3Fix save root window pixmap id when setting background
app.cpp app.h
https://github.com/eseverson/slim/commit/ea681f011632351e95bd319ec4e98e6d0ce1bf64add options to support centering of input box text and hiding of cursor
cfg.cpp panel.cpp
https://github.com/eseverson/slim/commit/3ad4dc09988dbdd89c6bf70b6a83c4fd029db208NOT MERGED
add default pam and logrotate files
(new files: slim.logrotate and slim.pam )
https://github.com/eseverson/slim/commit/ddf847532b8aab79adb82e05f1250be1d0aff29cmodify Cfg::getIntOption
cfg.cpp (the existing cfg.h does not need patched)
https://github.com/eseverson/slim/commit/c2145c7444a608d2e10bc0327c3ee9310d8b0731NOT MERGED (WormZy tree is 1commit ahead of iwamatsu/slim)
Applied CMakeLists fix for libslim libraries (and systemd service inst… )
OCT 2014
https://github.com/WorMzy/slim/commit/a33d2603e48e494d3a97e01462e3b63303eef84d
^——– set(LIBDIR is likely a result of incorporating “slimlock” module (which I haven’t done)fix undefined reference to XmuClientWindow
CMakeLists.txt
https://github.com/mmplayer/SLiM/commit/02f39dc17f2f6296ea7f194aa36444fba4227c87NOT MERGED
install to install root local folder
CMakeLists
+set(CMAKE_INSTALL_PREFIX “./installroot”)
-set(SYSCONFDIR “/etc”)
+set(SYSCONFDIR “${CMAKE_INSTALL_PREFIX}/etc”)
…
+if(APP_DEBUG)
+ set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} “-DXNEST_DEBUG”)
+endif(APP_DEBUG)
…
-install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin )
+install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
https://github.com/mmplayer/SLiM/commit/4dae8f99382631f800b8b38c80ea9e29f8cb1d5cNOT MERGED =========
autogen.sh (new file)
+#!/bin/sh
+#apt-get build-dep slim #================ already declared in our debian/control file
+#apt-get install libpng-dev
+#
+###rm -rf build/ ============= don’t delete last build files
+###mkdir build
+cd build
+if [ “$1” = “debug” ];then
+#cmake .. -DUSE_PAM=yes -DAPP_DEBUG=yes -DCMAKE_BUILD_TYPE=Debug {—————– did I merge the DEBUG arg recognition?
+#cmake .. -DAPP_DEBUG=yes -DCMAKE_BUILD_TYPE=Debug
+cmake .. -DUSE_CONSOLEKIT=yes
+else
+cmake ..
+fi
+make
+make install
https://github.com/mmplayer/SLiM/commit/f5852b865e42b1b849c302bdd03e84386a54f236
https://github.com/mmplayer/SLiM/commit/1f08b549fd7aa2ea7ebecaca5a79f6b41535cd8fCONSIDER
libc-6 allows 32char username
current (cfg.h) states #define INPUT_MAXLENGTH_NAME 30NOT MERGED
support show cover (make default of showing a cover image b4 login FALSE) panelpng = themedir +”/cover.png”; ??????? replaces bgimage? If so…. why???
https://github.com/mmplayer/SLiM/commit/3fafa4f8a5c94c147f2aa0de20f8edfa27e3ac70
https://github.com/mmplayer/SLiM/commit/b78ef4dcdcabac9c91d28388827626b75b5856dd {———– depends on slimlock module?NOT MERGED =======
if session is not set, use default session (DUH!)
https://github.com/mmplayer/SLiM/commit/e06bddf72f593828663807846ca4a2db5b1cd41cNOT MERGED
add option login_success_cmd (the code changes within the commit seems incomplete)
https://github.com/mmplayer/SLiM/commit/39e52f3cd23b87452b3ecb2f313678be669ffe14
https://github.com/mmplayer/SLiM/commit/ce27ae284dfca79ba81cec3daa54dfcd0819baa9NOT MERGED
supports prelogin_cmd, maybe used to choose resolution at first boot
https://github.com/mmplayer/SLiM/commit/9105e5f70715cd9b4c6f63186b081987936af554NOT MERGED {—————— why needed?
Use the first session designated in /etc/slim.conf as the default session
https://github.com/esjeon/slim-debian/commit/372d6272a42c55e43e07c64a2d74b88658bbc00fNOTED
https://github.com/Hacksign/slim-1.3.6 modified slim to fit multi screen display for archlinux.
(repo contains only initial commit Nov 14, 2015 (full set of 1.3.6 file, no debian subdir)NOTED
https://github.com/GalliumOS/slim/commit/f8738a61362dbc39e413bae3a494c497f72755a3
^——– this repo is 1.3.6 WITH debian subdir
and is about commits ahead of “mati75” repo
1.3.7 – 2015.10.22
* Changes for GalliumOS
* Added XRandr support for resizing slimlock
* Disabled tty locking by default
* Run session stop command even if login command fails
* Various fixes and changes
1.3.6 – 2013.10.01
* Merge slimlock.
* Add support ^H (like backspace).NOT MERGED
Set x11 priority to -19 (Changed setting sched to SCHED_ISO to setpriority) setpriority(PRIO_PROCESS, ServerPID, -19);
~~~~~~~~~ earlier changelog mentions “Removed x11 priority patch as it isn’t needed with rr_interval set to 1”
https://github.com/GalliumOS/slim/commit/9736240164fe91309f5e54021a20d534e667381d
https://github.com/GalliumOS/slim/commit/d2288078c40599723870f630bbc59f933249d016NOT MERGED ================ cuz no slimlock for us
Ignore xrandr events if the mode isn’t Mode_Lock
https://github.com/GalliumOS/slim/commit/7084faa4f0b73e2013bfd0f7919618079c1552aaNOT MERGED
slim.conf
xserver_arguments -nolisten tcp -core -dpi 133
https://github.com/antix-skidoo/slim-antix/blob/master/slim.confNOT MERGED
fix resizing the screen lock’s background on montior changes
https://github.com/GalliumOS/slim/commit/04945e94da09e30c588897d8f67914eec4d7e65dNOT MERGED
Resize the lockscreen if the display changed in addition to the viewport
https://github.com/GalliumOS/slim/commit/b65e349a612c8c612010ba28bd97c2e2d708689eNOT MERGED
Updated multiple monitors fix patch {—————– ?already in mati75? NO.
https://github.com/GalliumOS/slim/commit/ed0c9374ff06e596c204bdf0a35d2ae09b95053dNOT MERGED
slimlock.1 fix minux sign used as a dash
https://github.com/mati75/slim/blob/master/debian/patches/fix-hyphen-used-as-minus-sign.patchNOT MERGED
+-# Executed when pressing F11 (requires imagemagick)
+-screenshot_cmd import -window root /slim.png
++# Executed when pressing F11 (requires scrot)
++screenshot_cmd scrot /root/slim.png
debian/patches/disable_session_change_and_ss.patch
https://github.com/GalliumOS/slim/commit/49efe314742aad1bdfccf4aae7accae16fc8004aNOT MERGED
dude strips out the F1 (change session) and F11 (take screenshot NOT US) keybinds
https://github.com/GalliumOS/slim/commit/49efe314742aad1bdfccf4aae7accae16fc8004aNOTED ============================= NOTABLE =======================
https://github.com/bbidulock/slim
^———— adds stuffs not in mati75 repo, e.g.
pam-autologin.sample do no use xdm’s greeter pam file
pam-greeter.sample
^———– separate branches for systemd and for xdm
^——– no debian subdirNOT MERGED
app.cpp
– pam.set_item(PAM::Authenticator::User, “”);
+ pam.set_item(PAM::Authenticator::User, NULL);
https://github.com/bbidulock/slim/commit/43bcd57e239c616e0408b34e4d68ec71ebdad96d
illegal to set anything to null with pam_set_item
https://github.com/bbidulock/slim/commit/48f4865da05c5595290046d6328512eb46f2b1eeNOT MERGED ================= merit? or break/fix
app.cpp catch(PAM::Cred_Exception RETURN (instead of esit(ERR_EXIT)
^———– and other changes
https://github.com/bbidulock/slim/commit/f05619b04ce3fe6a2672a5a18a40f6837aca45e6
https://github.com/bbidulock/slim/commit/707a4bbb961c2587a1c1108bf5ecfa5e7030e9d9
https://github.com/bbidulock/slim/commit/6146319b68dd7098d79dcc75037ab8ffa56b356eNOT MERGED
app.cpp App::StopServer() { if (existing_server) return;
“do not try to stop existing servers” {———- i think this is, aready, handled adequately elsewhere (and the commit would break the “testing” case)
https://github.com/bbidulock/slim/commit/5801c67ef414f1be6375ee267e5dc04d313905b9NOT MERGED ====================== merit?
handle signal masks between parent and child better
https://github.com/bbidulock/slim/commit/fe2a262c7cc5ae01eca8f7bc74f724ca299bf905NOT MERGED
slim.conf “pwrovide sane defaults”
-lockfile /var/run/slim.lock
+lockfile /var/lock/slim.lock
-#xserver_arguments -dpi 75
+xserver_arguments -nolisten tcp vt07
https://github.com/bbidulock/slim/commit/115f72c4fbda7f0f64fe9555128115accf0e4a99================ NOTICED, in https://github.com/antix-linux/slim-antix/blob/master/debian/patches/slim.conf.patch
— slim-1.3.6.10-really1.3.4-2.orig/slim.conf
+++ slim-1.3.6.10-really1.3.4-2/slim.conf==================== NOTICED existing welcome msg (per slim conf)
+welcome_msg (Press F1 to toggle sessions)
^———– is this sumbitch, untranslated, even displayed in the current antiX ?Ck.cpp
– std::snprintf(device, 32, “/dev/tty%ld”, vt);
+ std::sprintf(device, “/dev/tty%ld”, vt);MERGED
app.cpp ================ https://github.com/AeroNotix/slim-git/pull/5
Line 596
#child_env = static_cast<char**>(malloc(sizeof(char*)*n));
child_env = static_cast<char**>(malloc(sizeof(char*)*(n+1))); https://github.com/AeroNotix/slim-git/commit/d450e5a6847fd3fcab19312d23357a70da197654
also Line 815MERGED
panel.cpp UTF8 support in welcome_message
XftDrawStringUtf8
https://github.com/AeroNotix/slim-git/commit/6a8da94f038ca0fee04403f69135b052954c45fbMERGED
CMakeLists.txt Line 146
– ${FREETYPE_INCLUDE_DIR_freetype2}
+ ${FREETYPE_INCLUDE_DIRS}
https://github.com/AeroNotix/slim-git/commit/d450e5a6847fd3fcab19312d23357a70da197654NOT MERGED ========
app.cpp Move initialization into the initialization list
https://github.com/AeroNotix/slim-git/commit/737bd9c62c82064eb322bdf0869983a10f7d6213NOT MERGED
app.cpp and cfg.cpp add option for disabling exit command
https://github.com/AeroNotix/slim-git/commit/10ee553756ba7bf8eee108d18074fb22abd0f556NOT MERGED (trivial: perform Declaration and definition in a single line)
panel.cpp
https://github.com/AeroNotix/slim-git/commit/e459db9de91e959ecb787f00cc7c2bded1c7514f
also
“Use an initializer list instead of assigning members in the ctor body”
https://github.com/AeroNotix/slim-git/commit/a19f705cb053afe2b82c435ae53858901a26ebecNOT MERGED “Use a coord class instead of separate integers” (saves 50LOC, become terse to read)
several files affected
https://github.com/AeroNotix/slim-git/commit/94668501fbe6d9871b33d1eda76f24d55a3452b7NOT YET MERGED “.gitignore Ignore built files” ==============
CMakeCache.txt
CMakeFiles/
Makefile
cmake_install.cmake
slim
themes/CMakeFiles/
themes/Makefile
themes/cmake_install.cmake
themes/default/CMakeFiles/
themes/default/Makefile
themes/default/cmake_install.cmakeNOT MERGED
panel.cpp Panel::OnKeyPress “fix font rendering error (is this still applicable?)
else { return true; //nodraw if notchanged
https://github.com/bbidulock/slim/blob/a94660881371a5e50f8dde06b40d30212c2994a7/panel.cppNOT MERGED “Add support ^H (like backspace)” ============
panel.cpp 30 LOC
https://github.com/bbidulock/slim/commit/df9bed38e8facb7461c66aee604cbeb4e1b6be51NOT MERGED
https://github.com/bbidulock/slim/commit/059d9c7562fa454ccc8047a0e9a91da111335359MERGED “Fix check of -Wswitch”
app.cpp
https://github.com/bbidulock/slim/commit/a8f6f8b6c24b42ddd65a3513af157b41de37921fNOT MERGED “Use visual instead of DefaultVisual(Dpy, Scr) ”
panel.cpp
https://github.com/bbidulock/slim/commit/7d43e5668943312b46618767bab0c0c11f48fca6NOT MERGED “Add support thread library ” find_package(Threads) {———- where is it ever actually used?
cMakeLists.txt
https://github.com/bbidulock/slim/commit/7ba0ca986faf0f2d46ced389f86a87e3ba78f740MERGED “Handle NULL returns from crypt() ”
app.cpp
https://github.com/bbidulock/slim/commit/fbdfae3b406b1bb6f4e5e440e79b9b8bb8f071fbMERGED “fix gcc-implicit-definitions”
png.c
https://github.com/bbidulock/slim/commit/085c7228cea0cbce14a6909906cdaddd0a4cc1b0MERGED ============== “Fixed small memory leak in App::StartServer() ”
https://github.com/bbidulock/slim/commit/df1c2731640f89deb6c71759430b97057626331bNOT MERGED (trivial) ” Remove semicolon style warnings ” instances of }; changed to }
https://github.com/bbidulock/slim/commit/1646b9d5753b9ade26e25e2e3ac8ee286dd5d986NOT MERGED
log.h -#ifdef USE_CONSOLEKIT
“Compiling clang fix error: call to function ‘operator<<‘ that is neither visible in the template definition nor found by”
https://github.com/bbidulock/slim/commit/1ad6b022b53be1efeea4c1b6e05bfb87b5b1b702// when user supplies non-blank pathstring (vis slim.conf)
// sessiondir lookup is performed (and “sessions” conf option is ignored)NOT MERGED ====================================== I THINK “sessiondir” OPTION WILL NOT WORK WITHOUT THIS
AND THIS REMOVES “sessions” OPTION
“Reworked windowmanager-sessions
Instead of hard coding the possible windowmanagers find the installed sessions in the system and use them”
https://github.com/bbidulock/slim/commit/059d9c7562fa454ccc8047a0e9a91da111335359NOT MERGED “changes to make slim work as xdm login program ”
several files, 150+ LOC
https://github.com/bbidulock/slim/commit/7c81a8d9972aee1732dc6c5baeb076025da6ac75NOT MERGED “Change common library name, from slim_common to libslim, and add version to library”
https://github.com/bbidulock/slim/commit/05fe60168c99c0f8f200081290a815d85954f792NOT MERGED “adde upstart support”
debian/slim.upstart NEW FILE
https://github.com/mati75/slim/commit/67b5fa1fcfdaaf714dbe765c321291d535accea9NOT MERGED
various files PAM handling and much systemd… and slimlock
open and close user session in the parent
https://github.com/bbidulock/slim/commit/707a4bbb961c2587a1c1108bf5ecfa5e7030e9d9
https://github.com/bbidulock/slim/commit/6146319b68dd7098d79dcc75037ab8ffa56b356e {————- and other commits from this repo
https://github.com/bbidulock/slim/commit/f05619b04ce3fe6a2672a5a18a40f6837aca45e6
https://github.com/bbidulock/slim/commit/48f4865da05c5595290046d6328512eb46f2b1eeNOT MERGED ===========
app.cpp some final process job control tweaks
https://github.com/bbidulock/slim/commit/1cc0acd45254380c606ff69b2b612ee9f3313d2f
https://github.com/bbidulock/slim/commit/ce3d383ff245d5e401358b99043e38f59a1b5b33
https://github.com/bbidulock/slim/commit/fe2a262c7cc5ae01eca8f7bc74f724ca299bf905 ============ signal handline break/fixJanuary 17, 2018 at 12:23 pm #5418ModeratorBobC
::I am using lightdm succesfully in place of slim with antix17. Slim was using a lot of memory, but no problems noticed other than that. I installed lightdm from the repos and had to change the configuration by hand to get everything to work right with IceWM. I haven’t tried it with any other desktops.
$ inxi -Fxz
System: Host: DellXPS15 Kernel: 4.9.0-5-amd64 x86_64 bits: 64 gcc: 6.3.0
Desktop: IceWM 1.4.2
Distro: antiX-17_x64-full Heather Heyer 24 October 2017
Machine: Device: laptop System: Dell product: Inspiron 7559 v: 1.2.2 serial: N/AJanuary 17, 2018 at 1:39 pm #5419Forum Admin
Dave
::I tried lightdm, but it does not work as advertised… so I think it must be relying on systemd mechanisms for some of the functions (such as multiseat capability).
@ skidoo. Too bad I am not that good with c++…. otherwise I would consider hacking the slim from your github to allow multiple concurrent sessions on multiple instances of X. That way you could start slim on all the graphics cards / heads available based on Xorg configuration…Computers are like air conditioners. They work fine until you start opening Windows. ~Author Unknown
January 17, 2018 at 3:47 pm #5421Forum Admin
dolphin_oracle
January 17, 2018 at 4:28 pm #5422Forum Admin
Dave
::Well I may need to change the name of the thread as I was mainly concerned about seeing if slim is still “alive”… but the most accurate howto I have found is this:
https://wiki.archlinux.org/index.php/xorg_multiseat#For_LightDM
But basically enabling lightdm’s multiseat support is what I need.I have enabled it as per the wiki article / lightdm docs and tried modifying it in as many ways I can think… for example making the xserver-command the same as loading a X session directly from /etc/inittab like
startx — :0 -layout seat-0 -seat seat-0 vt07
startx — :1 -layout seat-1 -seat seat-1 vt08 -sharevts -nolisten tcpMultiseat works fine via a script to load X under each user on a separate screen automatically, but it would be nice to have the login screen. As lightdm is the default for MX (which is what I am using on one of the machines) I tried it, then tried slim ( as antiX is the other but slim does not support multiseat as best as I can tell), then Xdm which worked fine… normally in the past I have used gdm or kdm which are not very light.
The most I could find with the lightdm problem is that ~/.Xauthority needs to be deleted when trying lightdm (which I did) or my X server is configured wrong (which it is not because it works manually and with Xdm.) I booted with the systemd option just as a quick look but it still did not function and I was not going to try and make it function by running all the systemd seat assignment commands manually.Once I have it figured out, I plan to make a how to on multiseat again under antiX / MX. So it would be nice to keep the install as close to stock as possible and not bring in bloat from kdm or gdm. I also plan on updating my script (which is a modification / rewrite of automseat) and possibly make it a little more presentable so you would only need to install the script and reboot to setup a multiseat system (aside from the hardware that is). I have it configure X org fine now, so just need to settle on a login manager.
- This reply was modified 5 years, 3 months ago by Dave. Reason: corrected my script to be a modification of automseat
Computers are like air conditioners. They work fine until you start opening Windows. ~Author Unknown
January 17, 2018 at 6:06 pm #5425Forum Admin
dolphin_oracle
::is this different than the function provided by switch-user? I know that is in mx and I can log into multiple sessions, each with a login prompt.
January 17, 2018 at 9:33 pm #5428Forum Admin
Dave
::Yes as they are all signed in and *using* the system at the same time. No switching involved.
Computers are like air conditioners. They work fine until you start opening Windows. ~Author Unknown
January 18, 2018 at 3:12 am #5438Forum Admin
anticapitalista
::dave – try using elogind with lightdm. It is supposed to be a replacement for logind and is better suited for nosystemd.
Philosophers have interpreted the world in many ways; the point is to change it.
antiX with runit - leaner and meaner.
January 18, 2018 at 12:08 pm #5467Forum Admin
Dave
::Thanks anti, I will give it a try. Are there plans of using elogind in the future?
Being that it is a replacement for logind, what is it that logind is meant to replace?
Iirc it is something to do with replacing policy kit, dbus and the like.Computers are like air conditioners. They work fine until you start opening Windows. ~Author Unknown
January 23, 2018 at 10:43 pm #5794Anonymous
::Yes as they are all signed in and *using* the system at the same time. No switching involved.
In the wikipedia article you linked, a precondition of “multiseat” is the availability of separate hardware (graphics cards) for each seat.
Asking for confirmation: Is this your intended use case?January 23, 2018 at 10:54 pm #5796Anonymous
::what is it that (e)logind is meant to replace?
it replaces ConsoleKit.Additionally, it internally handles power management
(provides poweroff, reboot, sleep, hibernate, and hybrid-sleep commands.
For shutdown, reboot, and kexec, elogind shells out to “halt”, “reboot”, and “kexec” binaries)
thereby eliminating the need for a separate “pm-utils”January 24, 2018 at 5:36 am #5816Forum Admin
Dave
::In the wikipedia article you linked, a precondition of “multiseat” is the availability of separate hardware (graphics cards) for each seat.
Asking for confirmation: Is this your intended use case?Yes 3 cards for 3 seats.
Edit: though they are dual head cards with different ids per head, so I could run 3 cards for 6 seats, Though some of the seats will have dual monitors leaving out the possibility of sharing a card between seats.
- This reply was modified 5 years, 3 months ago by Dave.
Computers are like air conditioners. They work fine until you start opening Windows. ~Author Unknown
February 4, 2018 at 12:49 pm #6126ModeratorBobC
::Question: I switched to lightdm, but I don’t think desktop-session is being run anymore, because I found that streamlight can’t save downloads because $XDG_DOWNLOAD_DIR isn’t set. I had to put things like conky into my .icewm/startup to get them to run. Should I just be running desktop-session someplace?
-
AuthorPosts
- You must be logged in to reply to this topic.