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

Трудность состоит в том, что это - совершенно другая операционная система. Android не является дистрибутивом Linux. Единственной вещью это распространено между Android и GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCiv (обычно известный как “Linux” или “дистрибутивы Linux”) является ядро Linux. Linux основан на основанных на POSIX API, X-оконной системе для графического интерфейса и многих библиотеках, которые полагаются на эти основы, с помощью базовых понятий, таких как процессы, файлы, каналы и окна. Android основан на своих собственных API Java с определенными понятиями, с помощью базовых понятий, таких как операции, услуги, редакторы связей и намерения. Портирование чего-то как Unity3D к Linux было бы такой же работы как другие порты, такие как OSX (который имеет больше битов POSIX, чем Android, но также и имеет GUI, это полностью отличается от Unix/Linux's X11), и Android.

3
05.04.2013, 10:48
3 ответа

Stephane Chazelas записал:

Вы не можете приостановить с Ctrl+Z, но можно приостановить с suspend встроенный (или kill -s STOP "$$" если Ваша оболочка не имеет такого встроенного).

Большое спасибо, это, кажется, работает как очарование. После того, как я буду зарегистрирован как другой пользователь, приостановлю, отправляет оболочку в фон и возвращает управление оболочке предыдущего пользователя. Затем я могу использовать fg поскольку я был бы с любым другим заданием для возобновления.

Насколько я попробовал, это даже, кажется, работает больше чем с двумя пользователями и в ssh (который приостанавливает с ~^z причина это - оболочка входа в систему). Никакая потребность использовать оконечный мультиплексор как экран, в конце концов.

1
27.01.2020, 21:11

Использовать su <user>, дополнительно с - опция (также известный как -l или --login) заставить оболочку вести себя как оболочка входа в систему (другая инициализация).

Вы не можете действительно отправить его в фон, так как оболочка того пользователя ловит сигнал SIGTSTP, который используется для перемещения его в фон и выходы (обычно). Вместо этого Вы могли бы интересоваться оконечным мультиплексором как tmux или screen

Вы могли бы также хотеть использовать vlock на консолях, когда Вы не используете их в течение более длительного времени.

7
27.01.2020, 21:11
  • 1
    я полагал, что su один не будет опция, но благодарит упомянуть точную причину. После просматривания статьи Википедии об экране я всегда задавался вопросом, почему мне будет нужен он ("полезный для контакта с несколькими программами из командной строки"), поскольку я уже могу обработать несколько программ с ctrl-z и fg, но если бы это - единственный способ переключиться между пользователями быстро, не повторно вводя пароли как, я имел бы к с su, затем это будет уничтожающей функцией. Но это - действительно единственный путь? Существует ли максимум одного пользователя, который может быть зарегистрирован на "нормальном" терминале (без мультиплексора)? –  bug 05.04.2013, 11:20
  • 2
    Ну, существует максимум одной группы приоритетного процесса на tty (примерно группа процесса, которая получает вход). Если Вам удалось добраться su фон без завершения оболочки, это работало бы. Что касается другого использования для оконечного мультиплексора, после того как у Вас есть больше чем 10 открытых оболочек, Вы понимаете, что оконечный мультиплексор является способом пойти. :) –  peterph 05.04.2013, 11:45
  • 3
    Вы не можете приостановить с Ctrl-Z, но можно приостановить с suspend встроенный (или kill -s STOP "$$" если Ваша оболочка не имеет такого встроенного). –  Stéphane Chazelas 05.04.2013, 12:45

Одним из возможных способов использования такой программы, как screen или tmux

Создайте новый экран с именем foo

screen -S foo   

Создайте другой экран

ctrl + a + c

Переключение между ними

ctrl + a + a

в качестве альтернативы нажмите номер оболочки, чтобы перейти к ней

ctrl+ a + 1

Вы можете просмотреть имя/номер всех сеансов открытого экрана таким образом:

ctrl+ a + w

Это будут 3 отдельных оболочки, но все они будут внутри 1 терминала.

0
27.01.2020, 21:11

Теги

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