Существует 7 терминалов, которые могут использоваться в нашей системе. tty7
базирующийся GUI.
Как я могу знать это, какой tty я в настоящее время использую?
как, tty1, tty2.... tty6?
Команда Use tty
.
, Если я прав, что это - ссылка:
/dev/tty1 - tty1
/dev/tty2 - tty2
/dev/tty3 - tty3
/dev/tty4 - tty4
/dev/tty5 - tty5
/dev/tty6 - tty6
Существует несколько способов узнать это. Я пошел бы с who am i
(не who
) команда:
$ who am i
ravexina tty2 2017-04-10 11:19 (:0)
, Когда я нахожусь в графическом терминале, он возвратил бы что-то как:
ravexina pts/0 2017-04-10 1:19 (:0)
Под ssh сессией с помощью результата графического терминала то же, но вместо (:0), я получу свой IP машины (192.168.x.x). другие команды как w
, who
, pgrep
, ps
, и т.д. полезны также.
, Например, для обнаружения, в котором tty
работает мой графический интерфейс:
ps $(pgrep Xorg)
, Который в моем случае, потому что я не использую менеджера по оформлению как gdm или тонкий, это произведет:
PID TTY STAT TIME COMMAND
1693 tty1 Sl 0:05 /usr/lib/xorg/Xorg
Я предполагаю, что Вы заботитесь о чем-то еще, чем другие предоставленные ответы. Выполненный sudo fgconsole
для обнаружения, какой реальный tty теперь активен.
Давайте предпримем шаги назад и запустимся с беспорядка: что такое tty? Первоначально tty был сокращением телетайпа, который стал стеклянным телетайпом, который стал любым терминалом или соединением с одним, конкретно последовательный порт (Это все еще вокруг, обычно/dev/ttyS0,/dev/ttyUSB0 и иногда/dev/ttyacm0). Затем Вы получили псевдо ttys, и виртуальные ttys. старые руки Unix знакомы с псевдо ttys, они используются для удаленных терминалов (ssh и telnet), виртуальные терминалы (xterm и т.п.), и оконечные мультиплексоры (экран и tmux). Псевдо ttys имели различные схемы именования со временем, но текущие имена использования как/dev/pts/0. Виртуальные ttys, с другой стороны, связаны с виртуальными консолями, конкретно при использовании функциональных клавиш высокого звука управления, Вы переключаете виртуальные консоли, каждая из которых соединяется с виртуальным tty. Самый известный виртуальный tty является/dev/tty7, который часто использовал для графических сессий (потому что первые шесть обычно являются текстовыми логинами) нет ничего специального о tty7, поскольку можно выполнить X-серверы на любой виртуальной консоли (хотя выполнение один на/dev/tty1 действительно трудно, поскольку ядро открывает его для входа начальной загрузки, но я сделал это), и можно сделать текстовые входы в систему на любом виртуальном tty включая tty7 (хотя init конфигурация требуется, и динамическое выделение systemd делает вещи интересными и переключающимися на tty13 и, возможно, нуждается в изменении в карте клавиатуры).
Поэтому, если необходимо найти псевдо tty (или виртуальный tty при использовании текстового режима) существуют все виды решений как who am i
, или ps ax|grep $
это относительно легко сделать, поскольку существует несколько способов узнать это, поскольку псевдо tty открыт по стандарту io в большинстве случаев и существуют другие методы, которые работают, даже когда io перенаправляется. это также имеет преимущество также выполнения правильной вещи при использовании последовательных портов и виртуального ttys, пока Вы не используете эмуляторы графического терминала или оконечные мультиплексоры.
, Но что, если Вы желаете определить виртуальную консоль? sudo fgconsole
может быть полезно для интерактивных случаев. Или то, что я делаю, просто обойти консоли, поскольку переключение достаточно обычно быстро. Я не знаю о программном методе, который работает надежно в неинтерактивных или неприоритетных случаях.
Позволяют нам посмотреть на пример, который, как гарантируют, не сможет надежно ответить на виртуальную консоль когда-либо. Компьютер я сижу перед (альфой), имеет Xserver, работающий tty2 (:1), у меня есть три окна, открытые два xterms и vncviewer (подключенный к bravo:2). Один xterm выполняет экран, другой выполняет ssh charley. Экран имеет два открытые окна, ssh дельта и кому (кто правильно определяет псевдо tty в столбце два и обеспечивает подсказку (:1:S0)
в столбце пять, который говорит нам, что псевдо tty подключен к первой экранной сессии, которая подключена к второму X-серверу, но не дает информации о виртуальной консоли). Выполнение, кому по любому ssh сессия дает подсказку (alpha)
, который определяет машину, что ssh сессия произошла, от которого сравнительно хорошо для удаленных сеансов. Хотя существует мало информации о том, что подключено к псевдо tty (и абсолютно никакая виртуальная консоль, или даже удаленная tty информация доступна), по крайней мере, удаленный хост определяется. информация об экране может быть неправильной, поскольку экранные сессии являются съемными, и vnc не предоставляет полезной информации вообще как единственной разницы между vnc сессией, и локальная сессия является числом дисплея. Во многих случаях можно предположить, что:0 находится на tty7, но не всегда, и никогда на моем, поскольку браво не имеет видеокарты вообще, и:0 vnc сессия (который путает, кто, потому что он думает, что это - локальная консоль) и ни одна из машин не использует tty7 в качестве графической сессии, потому что я (не только, чтобы быть обратным) вывожу журналы к tty7 (и tty5, tty6, и tty8 также) повторно лигирование графических сессий в другом месте. Но ожидайте, экран может также действовать как терминальная программа, разрешающая Вам установить сессию по последовательному кабелю. О чем такая сессия сообщает когда, кто выполняется? Почему ничто, но последовательный порт, подключено ли это быть через vnc, xterm, ssh, экран и последовательный адаптер usb внезапно или к моему телевидео.
Используйте команду tty, она работает над Linux и macOS, и дайте довольно простой вывод для чтения, только название tty, в котором Вы находитесь.
Пример:
$ tty
/dev/pts/0
легко написать сценарий этого или включать его в подсказку, пример:
$ PS1='`tty`: '
/dev/pts/0: _
Этот способ, которым Вы будете всегда знать, в каком терминале Вы находитесь.
Когда Вы вошли в систему tty, он показывает, какой tty Вы используете на первой строке автоматически.
При нажатии комбинации клавиатуры Ctrl+Alt+F3 показывает только черный экран, как Вы записали в комментарии, существует альтернативный способ получить доступ к корневой оболочке при начальной загрузке компьютера, не нажатие Ctrl+Alt+F3 для перевода в рабочее состояние tty.
Сразу после экрана-заставки BIOS/UEFI во время начальной загрузки, с BIOS, быстро нажатие и содержит клавишу Shift, которая поднимет меню GNU GRUB. (Если Вы видите логотип Ubuntu, Вы упустили суть, где можно ввести меню GRUB.) С нажатием UEFI (возможно, несколько раз) клавиша Esc для получения до меню GRUB. Иногда экран-заставка производителя является частью загрузчика Windows, поэтому когда Вы включаете машину, это переходит прямо к экрану GRUB, и затем нажатие Shift является ненужным.
От первого фиолетового GNU GRUB экран выбирают Расширенные настройки для Ubuntu с ↑ и ↓ ключами и нажимают Enter. Вам затем предложит другое фиолетовое меню меню GNU GRUB, которое имеет список опций ядра в нем.
Нажмите клавишу со стрелкой вниз, пока Вы не выберете вторую запись из вершины (та с режимом восстановления в описании) и затем нажмете Enter.
Теперь необходимо видеть это меню восстановления:
Используя клавиши со стрелками прокручивают вниз, чтобы базироваться и затем нажать Enter дважды.
Необходимо теперь видеть корневую подсказку, что-то вроде этого:
root@ubuntu:~#
На данном этапе у Вас должна быть файловая система только для чтения. Необходимо повторно смонтировать его с полномочиями записи:
mount -o rw,remount /
Теперь можно работать, управляет тем же как в терминале.
За исключением GUI, в этом случае Вы получаете pts, это показывает Ваш желаемый вывод:
ls -l `tty` | awk '{print $10}'