fairyglade / ly

display manager with console UI
Do What The F*ck You Want To Public License
5.33k stars 306 forks source link

[Bug] shell login option drops me to a blinking cursor, not bash #665

Closed mchaker closed 1 month ago

mchaker commented 2 months ago

Pre-requisites

Ly version

1.1.0

Observed behavior

When running ly, and selecting "shell" login as the "other" field, I can log in (get past the ly screen) but then I get dropped to a blank cursor, not even showing a bash prompt. Is there some missing config I need to set up in order to use plaintext mode?

image image

Expected behavior

I expected to be placed into a bash prompt, just like regular plaintext mode used to work on login, prior to installing ly.

Steps to reproduce

  1. select "shell" as the login method
  2. log in
  3. get dropped into empty screen

Relevant logs

OS debian 12, x86_64
port19x commented 2 months ago

Can confirm on arch linux

Note, if it's relevant, that my login shell is zsh

AnErrupTion commented 2 months ago

@mchaker @port19x I can reproduce this issue on both Debian 12 and Arch Linux. Now, after much tinkering, changing the shell to Fish worked, but Bash or Dash didn't want to work. Or well, that's what I thought... I realized that, in the TTY, I can still execute commands:

image

I can do this on both Debian and Arch. Can you guys confirm that's the case?

AnErrupTion commented 2 months ago

Okay, I finally identified the problem. It's due to PR #621, which redirected StandardError to systemd's journal, but of course, only with systemd. A fix is to modify the service and change the following:

- StandardError=journal

I tried looking online, but unfortunately it doesn't seem like you can direct the output to 2 places at the same time (journal+console doesn't seem to work with TTYs).

mchaker commented 2 months ago

Confirming that is the case - I can run commands up until I hit "Ctrl-C" or "Ctrl-D".

I will test modifying the service as you described and report back.

mchaker commented 2 months ago

Confirming that modifying the service as described works!

image image

I'm not sure if the manual fix is compatible with GUIs/DEs, so not sure what code changes need to happen here, but the manual fix does work :)

AnErrupTion commented 2 months ago

I'm not sure if the manual fix is compatible with GUIs/DEs, so not sure what code changes need to happen here, but the manual fix does work :)

It is fully compatible, as the previously mentioned PR was a simple one-line change anyway.

AnErrupTion commented 2 months ago

I've pushed the fix just in case, and I'll also backport it for v1.0.2. I'll leave the issue open so that port19x can verify if it works on their part.

AnErrupTion commented 1 month ago

@port19x Ly v1.0.2 hit the repos, can you confirm the bug is fixed on your side please?

mchaker commented 1 month ago

unexpected behavior: after pulling from master, rebuilding, reinstalling, now logging out leaves the past session on the screen, behind the ly login window: is that expected?

image

AnErrupTion commented 1 month ago

unexpected behavior: after pulling from master, rebuilding, reinstalling, now logging out leaves the past session on the screen, behind the ly login window: is that expected?

image

That's definitely a bug. I'll try to reproduce it and hunt it down.

AnErrupTion commented 1 month ago

@mchaker This should be fixed with the latest commit. Can you check on your machine please?

mchaker commented 1 month ago

Checking now, will report back with results.

mchaker commented 1 month ago

That behavior seems fixed - the console is now cleared when logging out of a shell login session :)

port19x commented 1 month ago

Tomorrow

port19x commented 1 month ago

I can confirm shell login now working flawlessly on arch linux with bash (my current login shell).

I'd say you can safely close this issue now