GithubHelp home page GithubHelp logo

VT's in elogind about elogind HOT 7 CLOSED

dvc94ch avatar dvc94ch commented on June 23, 2024
VT's in elogind

from elogind.

Comments (7)

Yamakuzure avatar Yamakuzure commented on June 23, 2024

This issue should be fixed in the v226.4 release at elogind/elogind, so this issue can be closed.
Further development is done there, so please report at the new repo if this issue still exists.

I have run Plasma on Wayland started by sddm using the new version, so I guess Weston should work fine, too.
But I have not tested it, yet.

from elogind.

udeved avatar udeved commented on June 23, 2024

I have run Plasma on Wayland started by sddm using the new version, so I guess Weston should work fine, too.

I have successfully started a plasma wayland session with intel free drivers and elogind-226 on manjaro.

Regarding initial question of VT management, I found, that elogind doesn't manage VTs, most obvious with for example qterminal.

Say I run as normal user

 pkexec bash

in gui session. The terminal will login my account. However, this terminal has no command history and so on. I think this is something to do with elogind not managing VT.
Never noticed it with ck2, which managed VT iirc.

Could the new openrc getty service be of any help with elogind?

from elogind.

Yamakuzure avatar Yamakuzure commented on June 23, 2024

Auto-spawning VTs requires systemd in practice. That's why commit 059696a removed that functionality.

Virtual-terminals are basically a combination of input devices and a monitor. They can be accessed via /dev/tty<num> (where <num> is between 1 and 63; the other /dev/ttyXY devices are no VTs!).

VTs are always bound to seat0. So only sessions on this seat can use VTs (which means, classic text-mode is only available on seat0).

Text-mode sessions are special in that they are not spawned by a login-session. systemd-logind spawns /bin/agetty right during boot for each VT (you can configure how many of the 63 possible should be started). agetty is running as system daemon and not in a session! However, it is bound to seat0, obviously. agetty initializes the VT and runs /bin/login. login then writes a greeter to the VT and reads username plus password from it. As you might notice, this is problematic as it accesses devices attached to a seat even though itโ€™s not running in a session. But due to the design of VTs, this cannot be easily avoided.

On systems not running systemd, the init system spawns agetty.
OpenRC, for example, uses /etc/conf.d/agetty and /etc/inittab for the configuration and spawns it through /etc/init.d/agetty.

When agetty has confirmed a login, it looks up the initial process in /etc/passwd (letโ€™s assume it is /bin/bash) and runs it. So bash is the controlling process in this session.

That means, that elogind is completely out of the way and has no control over the whole thing.

Say I run as normal user

pkexec bash

in gui session. The terminal will login my account. However, this terminal has no command history
and so on. I think this is something to do with elogind not managing VT.

No. If I run pkexec bash, I get a root bash with my last history as it was written to ~/.bash_history

from elogind.

udeved avatar udeved commented on June 23, 2024

No. If I run pkexec bash, I get a root bash with my last history as it was written to ~/.bash_history

Yep, its the case in plasma5, but I notice something strange going on with lxqt and qterminal.

from elogind.

Yamakuzure avatar Yamakuzure commented on June 23, 2024

@udeved : I haven't tried it with lxqt and qterminal, yet, but will do during the next days.

from elogind.

udeved avatar udeved commented on June 23, 2024

I think that resolved with sddm working properly now.

from elogind.

Yamakuzure avatar Yamakuzure commented on June 23, 2024

Oh, that's great! :-)

from elogind.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.