Можете ли вы запустить оболочку входа в систему в Xterm?

Я пытаюсь заполучить все типы оболочек интерактивного / неинтерактивного входа / отсутствия входа, и у меня есть небольшой вопрос, который поможет мне собрать эту головоломку:

Я поймите, что когда вы например войдите на удаленный компьютер с помощью SSH, вы получите оболочку входа. Если я:

~$ logout

Я отключаюсь.

Но когда я открываю терминал в своей среде рабочего стола, могу ли я получить оболочку входа? Потому что, если я затем попытаюсь

~$ logout
bash: logout: not login shell: use 'exit'

Итак, есть ли способ подключиться к оболочке входа локально?

0
задан 22 December 2020 в 15:50

1 ответ

Чтобы ответить на ваш вопрос в том виде, как он опубликован, да, вы можете запустить оболочку входа в xterm, передав параметр -ls, т.е.

xterm -ls

From man xterm:

 -ls
xterm будет оболочкой входа в систему (т. е. первый символ
argv[0] будет тире, указывающим оболочке, что он
следует читать .login или .profile пользователя).

Вы можете запустить bash как оболочку входа в существующий терминал, передав опцию -l или --login

bash -l

Это запустит оболочку входа как дочернюю текущая оболочка; если вы хотите заменить текущую интерактивную оболочку оболочкой входа в систему, вы можете использовать exec:

exec bash -l

В качестве альтернативы, как предложил Джос, вы можете установить SSH-сервер, а затем войдите локально точно так же, как и удаленно

ssh localhost
1
ответ дан 22 December 2020 в 14:33

Другие вопросы по тегам:

Похожие вопросы: