Как я могу получить один сеанс сеанса для каждого пользователя и установить его как оболочку входа?

Запустите это на терминале (Ctrl + Alt + T):

lspci | grep -i net
1
задан 8 August 2011 в 10:04

7 ответов

Запуск screen -xR будет работать в основном так же, как при запуске screen -xr || screen.

Проблема в том, что, насколько я знаю, вы не можете передавать флаги в оболочку входа. Кроме того, наличие чего-то не-оболочки как экрана, так как ваша оболочка для входа, вероятно, нарушит такие вещи, как SFTP.

Итак, что мы будем делать, это установить bash как нашу оболочку входа. Затем мы добавим в конец .bashrc (файл bash запускается при его запуске), который запускает экран. Экран затем запустит любую оболочку, указанную в .screenrc.

Мы сделаем так, чтобы эта команда выполнялась только при специальном условии: Только если текущий запуск bash не был запущен (возможно, косвенно ) другой копией bash. Это сделает так, что если вы хотите, чтобы bash в качестве оболочки, и экран начинает bash внутри него, пользователь не получит взрыва русской куклы в bash внутри экрана внутри bash внутри экрана внутри bash до тех пор, пока компьютер

Сначала измените оболочку на / bin / bash, запустив chsh, затем введите свой пароль, затем введите /bin/bash и нажмите enter.

[d5 ] Далее отредактируйте скрытый файл .bashrc в вашей домашней папке, добавив следующее в конец:

if [ ${SHLVL} -eq 1 ]; then
    ((SHLVL+=1)); export SHLVL
    exec screen -xR
fi

Теперь отредактируйте (создайте, если он не выйдет) скрытый файл .screenrc в домашняя папка. Добавьте или отредактируйте следующие настройки:

shell /bin/zsh
startup_message off

(Конечно, если вы хотите какую-то другую оболочку, чем Zsh, идите туда и поместите ее вместо этого. Она также должна работать с bash.)

0
ответ дан 25 May 2018 в 19:26

Запуск screen -xR будет работать в основном так же, как при запуске screen -xr || screen.

Проблема в том, что, насколько я знаю, вы не можете передавать флаги в оболочку входа. Кроме того, наличие чего-то не-оболочки как экрана, так как ваша оболочка для входа, вероятно, нарушит такие вещи, как SFTP.

Итак, что мы будем делать, это установить bash как нашу оболочку входа. Затем мы добавим в конец .bashrc (файл bash запускается при его запуске), который запускает экран. Экран затем запустит любую оболочку, указанную в .screenrc.

Мы сделаем так, чтобы эта команда выполнялась только при специальном условии: Только если текущий запуск bash не был запущен (возможно, косвенно ) другой копией bash. Это сделает так, что если вы хотите, чтобы bash в качестве оболочки, и экран начинает bash внутри него, пользователь не получит взрыва русской куклы в bash внутри экрана внутри bash внутри экрана внутри bash до тех пор, пока компьютер

Сначала измените оболочку на / bin / bash, запустив chsh, затем введите свой пароль, затем введите /bin/bash и нажмите enter.

Далее отредактируйте скрытый файл .bashrc в вашей домашней папке, добавив следующее в конец:

if [ ${SHLVL} -eq 1 ]; then ((SHLVL+=1)); export SHLVL exec screen -xR fi

Теперь отредактируйте (создайте, если он не выйдет) скрытый файл .screenrc в домашняя папка. Добавьте или отредактируйте следующие настройки:

shell /bin/zsh startup_message off

(Конечно, если вы хотите какую-то другую оболочку, чем Zsh, идите туда и поместите ее вместо этого. Она также должна работать с bash.)

0
ответ дан 25 July 2018 в 21:29

Во-первых, для пользователей, для которых вы собираетесь это сделать, убедитесь, что у их ~/.screenrc есть строка

shell /bin/bash

(или любая другая оболочка, которую использует ваш пользователь). Если у вас нет этого набора параметров и вы меняете свою оболочку, как мы, пользователь не сможет войти в систему. Вы также можете подумать о том, чтобы убрать сообщение об окончании экрана с этой линией

startup_message off

Хорошо, теперь давайте сделаем исполняемый скрипт, который присоединяется к первому уже запущенному сеансу экрана, если он выйдет, и он уже не является запуск начинается. Запуск в терминале

sudo nano /bin/screenlogin.sh

Поместите две следующие строки:

#!/bin/bash
screen -x -r || screen

Нажмите Ctrl x и затем y, чтобы сохранить файл. Запустите

sudo chmod 755 /bin/screenlogin.sh

Наконец, запустите chsh у целевого пользователя и введите /bin/screenlogin.sh для оболочки при запросе.

1
ответ дан 25 May 2018 в 19:26
  • 1
    К сожалению, этот метод, похоже, не позволяет SFTP работать с этим пользователем. Не знаю, почему. Поэтому я все еще ищу ответы. – Azendale 8 August 2011 в 10:33
  • 2
    Похоже, что вывод из терминала при запуске системных сообщений вызывает проблемы для SFTP. Было бы очень благодарно, если бы кто-то знал, как настроить этот ответ, чтобы исправить мой сценарий. – Azendale 26 August 2011 в 08:20

Запуск screen -xR будет работать в основном так же, как при запуске screen -xr || screen.

Проблема в том, что, насколько я знаю, вы не можете передавать флаги в оболочку входа. Кроме того, наличие чего-то не-оболочки как экрана, так как ваша оболочка для входа, вероятно, нарушит такие вещи, как SFTP.

Итак, что мы будем делать, это установить bash как нашу оболочку входа. Затем мы добавим в конец .bashrc (файл bash запускается при его запуске), который запускает экран. Экран затем запустит любую оболочку, указанную в .screenrc.

Мы сделаем так, чтобы эта команда выполнялась только при специальном условии: Только если текущий запуск bash не был запущен (возможно, косвенно ) другой копией bash. Это сделает так, что если вы хотите, чтобы bash в качестве оболочки, и экран начинает bash внутри него, пользователь не получит взрыва русской куклы в bash внутри экрана внутри bash внутри экрана внутри bash до тех пор, пока компьютер

Сначала измените оболочку на / bin / bash, запустив chsh, затем введите свой пароль, затем введите /bin/bash и нажмите enter.

Далее отредактируйте скрытый файл .bashrc в вашей домашней папке, добавив следующее в конец:

if [ ${SHLVL} -eq 1 ]; then ((SHLVL+=1)); export SHLVL exec screen -xR fi

Теперь отредактируйте (создайте, если он не выйдет) скрытый файл .screenrc в домашняя папка. Добавьте или отредактируйте следующие настройки:

shell /bin/zsh startup_message off

(Конечно, если вы хотите какую-то другую оболочку, чем Zsh, идите туда и поместите ее вместо этого. Она также должна работать с bash.)

1
ответ дан 2 August 2018 в 03:07
  • 1
    К сожалению, этот метод, похоже, не позволяет SFTP работать с этим пользователем. Не знаю, почему. Поэтому я все еще ищу ответы. – Azendale 8 August 2011 в 10:33
  • 2
    Похоже, что вывод из терминала при запуске системных сообщений вызывает проблемы для SFTP. Было бы очень благодарно, если бы кто-то знал, как настроить этот ответ, чтобы исправить мой сценарий. – Azendale 26 August 2011 в 08:20

Запуск screen -xR будет работать в основном так же, как при запуске screen -xr || screen.

Проблема в том, что, насколько я знаю, вы не можете передавать флаги в оболочку входа. Кроме того, наличие чего-то не-оболочки как экрана, так как ваша оболочка для входа, вероятно, нарушит такие вещи, как SFTP.

Итак, что мы будем делать, это установить bash как нашу оболочку входа. Затем мы добавим в конец .bashrc (файл bash запускается при его запуске), который запускает экран. Экран затем запустит любую оболочку, указанную в .screenrc.

Мы сделаем так, чтобы эта команда выполнялась только при специальном условии: Только если текущий запуск bash не был запущен (возможно, косвенно ) другой копией bash. Это сделает так, что если вы хотите, чтобы bash в качестве оболочки, и экран начинает bash внутри него, пользователь не получит взрыва русской куклы в bash внутри экрана внутри bash внутри экрана внутри bash до тех пор, пока компьютер

Сначала измените оболочку на / bin / bash, запустив chsh, затем введите свой пароль, затем введите /bin/bash и нажмите enter.

Далее отредактируйте скрытый файл .bashrc в вашей домашней папке, добавив следующее в конец:

if [ ${SHLVL} -eq 1 ]; then ((SHLVL+=1)); export SHLVL exec screen -xR fi

Теперь отредактируйте (создайте, если он не выйдет) скрытый файл .screenrc в домашняя папка. Добавьте или отредактируйте следующие настройки:

shell /bin/zsh startup_message off

(Конечно, если вы хотите какую-то другую оболочку, чем Zsh, идите туда и поместите ее вместо этого. Она также должна работать с bash.)

1
ответ дан 4 August 2018 в 18:59
  • 1
    К сожалению, этот метод, похоже, не позволяет SFTP работать с этим пользователем. Не знаю, почему. Поэтому я все еще ищу ответы. – Azendale 8 August 2011 в 10:33
  • 2
    Похоже, что вывод из терминала при запуске системных сообщений вызывает проблемы для SFTP. Было бы очень благодарно, если бы кто-то знал, как настроить этот ответ, чтобы исправить мой сценарий. – Azendale 26 August 2011 в 08:20

Запуск screen -xR будет работать в основном так же, как при запуске screen -xr || screen.

Проблема в том, что, насколько я знаю, вы не можете передавать флаги в оболочку входа. Кроме того, наличие чего-то не-оболочки как экрана, так как ваша оболочка для входа, вероятно, нарушит такие вещи, как SFTP.

Итак, что мы будем делать, это установить bash как нашу оболочку входа. Затем мы добавим в конец .bashrc (файл bash запускается при его запуске), который запускает экран. Экран затем запустит любую оболочку, указанную в .screenrc.

Мы сделаем так, чтобы эта команда выполнялась только при специальном условии: Только если текущий запуск bash не был запущен (возможно, косвенно ) другой копией bash. Это сделает так, что если вы хотите, чтобы bash в качестве оболочки, и экран начинает bash внутри него, пользователь не получит взрыва русской куклы в bash внутри экрана внутри bash внутри экрана внутри bash до тех пор, пока компьютер

Сначала измените оболочку на / bin / bash, запустив chsh, затем введите свой пароль, затем введите /bin/bash и нажмите enter.

Далее отредактируйте скрытый файл .bashrc в вашей домашней папке, добавив следующее в конец:

if [ ${SHLVL} -eq 1 ]; then ((SHLVL+=1)); export SHLVL exec screen -xR fi

Теперь отредактируйте (создайте, если он не выйдет) скрытый файл .screenrc в домашняя папка. Добавьте или отредактируйте следующие настройки:

shell /bin/zsh startup_message off

(Конечно, если вы хотите какую-то другую оболочку, чем Zsh, идите туда и поместите ее вместо этого. Она также должна работать с bash.)

1
ответ дан 6 August 2018 в 03:20
  • 1
    К сожалению, этот метод, похоже, не позволяет SFTP работать с этим пользователем. Не знаю, почему. Поэтому я все еще ищу ответы. – Azendale 8 August 2011 в 10:33
  • 2
    Похоже, что вывод из терминала при запуске системных сообщений вызывает проблемы для SFTP. Было бы очень благодарно, если бы кто-то знал, как настроить этот ответ, чтобы исправить мой сценарий. – Azendale 26 August 2011 в 08:20

Запуск screen -xR будет работать в основном так же, как при запуске screen -xr || screen.

Проблема в том, что, насколько я знаю, вы не можете передавать флаги в оболочку входа. Кроме того, наличие чего-то не-оболочки как экрана, так как ваша оболочка для входа, вероятно, нарушит такие вещи, как SFTP.

Итак, что мы будем делать, это установить bash как нашу оболочку входа. Затем мы добавим в конец .bashrc (файл bash запускается при его запуске), который запускает экран. Экран затем запустит любую оболочку, указанную в .screenrc.

Мы сделаем так, чтобы эта команда выполнялась только при специальном условии: Только если текущий запуск bash не был запущен (возможно, косвенно ) другой копией bash. Это сделает так, что если вы хотите, чтобы bash в качестве оболочки, и экран начинает bash внутри него, пользователь не получит взрыва русской куклы в bash внутри экрана внутри bash внутри экрана внутри bash до тех пор, пока компьютер

Сначала измените оболочку на / bin / bash, запустив chsh, затем введите свой пароль, затем введите /bin/bash и нажмите enter.

Далее отредактируйте скрытый файл .bashrc в вашей домашней папке, добавив следующее в конец:

if [ ${SHLVL} -eq 1 ]; then ((SHLVL+=1)); export SHLVL exec screen -xR fi

Теперь отредактируйте (создайте, если он не выйдет) скрытый файл .screenrc в домашняя папка. Добавьте или отредактируйте следующие настройки:

shell /bin/zsh startup_message off

(Конечно, если вы хотите какую-то другую оболочку, чем Zsh, идите туда и поместите ее вместо этого. Она также должна работать с bash.)

1
ответ дан 7 August 2018 в 21:04
  • 1
    К сожалению, этот метод, похоже, не позволяет SFTP работать с этим пользователем. Не знаю, почему. Поэтому я все еще ищу ответы. – Azendale 8 August 2011 в 10:33
  • 2
    Похоже, что вывод из терминала при запуске системных сообщений вызывает проблемы для SFTP. Было бы очень благодарно, если бы кто-то знал, как настроить этот ответ, чтобы исправить мой сценарий. – Azendale 26 August 2011 в 08:20

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

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