Настольная книга по Linux/Текстовые терминалы

Материал из Викиучебника — открытых книг для открытого мира


Основные операции[править]

  • Очистка терминала (во многих интерпретаторах командной строки — C-l):

    $ clear 
    
  • Сброс (например, после случайной $ cat < photo.jpeg):

    $ reset 
    
  • Выбор цвета символов white и фона blue:

    $ setterm -fore white -back blue -store 
    
  • Выяснить имя файла устройства для текущего терминала:

    $ tty 
    
  • Поиск процессов, управляющим терминалом которых является /dev/pts/42 (см. также раздел Процессы):

    $ ps -t /dev/pts/42 
    $ ps -t pts/42 
    
  • Опрос терминала и установка переменных COLUMNS, LINES соответственно текущим значениям количества столбцов и строк (полезно при подключении к «удаленной» системе через последовательный порт — включая эмулируемый, например, QEMU):

    $ eval "$(resize)" 
    

Мультиплексоры[править]

Существует ряд программ, позволяющих нескольким приложениям «попеременно» использовать один и тот же терминал. Эти же программы позволяют свободно переключать такой «многооконный» сеанс между несколькими терминалами, что позволяет, например, начать работу с приложением для терминала локально (на виртуальном терминале Linux или через Xterm), затем «отключить» сеанс от локального терминала и снова «подключить» его через SSH.

При использовании SSH, эти программы дают еще и некоторую защиту от разрыва связи — после перезапуска SSH, можно продолжить работу с существующим сеансом без каких-либо негативных последствий для запущенных в таком сеансе приложений.

Похожую функциональность для X Window System предлагают программы Winswitch и Xpra.

Screen[править]

Внешние команды[править]

Примеры команд этого раздела могут быть использованы вне существующего сеанса Screen.

  • Начать новый сеанс Screen:

    $ screen 
    

    Начать новый сеанс с именем session, без подключения к этому сеансу:

    $ screen -dmS session 
    
  • Подключиться к сеансу с именем session:

    $ screen -x session 
    

    … К сеансу с идентификатором процесса 65537:

    $ screen -x 65537 
    

    … К единственному существующему сеансу:

    $ screen -x 
    
  • Вывести список сеансов:

    $ screen -ls 
    

Внутренние команды[править]

Внутренние команды могут быть привязаны к клавиатурным комбинациям, всегда начинающимся с «признака команды» — C-a или другого, определяемого пользователем (опцией -e командной строки запуска Screen, или же командами escape, defescape — которые могут быть помещены в ~/.screenrc, или выполнены через командную строку Screen.)

В данном разделе, мы будем предполагать настройки по-умолчанию.

  • Вызвать подсказку по клавиатурным комбинациям — C-a ?.

  • Вызвать командную строку Screen — C-a :. Кроме того, выполнить команду Screen команда аргументы… можно так:

    $ screen -X команда аргументы… 
    

    Например:

    $ screen -X echo 'Hello, world!' 
    
  • Создать новое окно Screen можно или комбинацией C-a c, или следующей командой:

    $ screen 
    

    Создать окно с заголовком title, номером не ниже 28 (если найдется такой неиспользуемый номер), и запуская на нем программу top:

    $ screen -t title 28 top 
    

    Создать окно для взаимодействия с устройством через последовательный порт /dev/ttyS0 (/dev/ttyUSB1, /dev/pts/2, etc.; можно использовать вместо cu(1) или Minicom):

    $ screen /dev/ttyS0 
    $ screen /dev/ttyUSB1 
    $ screen /dev/pts/2 
    
  • Установить вывод в строке состояния терминала текущего времени, номера текущего окна, и его собственной строки состояния:

    $ screen -X hardstatus string '%0c  %3n. %h' 
    

    При использовании Screen, например, в Xterm, строка состояния будет выведена в заголовке окна последнего. На других терминалах, строку состояния можно выводить нижней строкой окна:

    $ screen -X hardstatus lastline 
    

    … Всегда выводить строку состояния нижней строкой окна:

    $ screen -X hardstatus alwayslastline 
    

Tmux[править]

  • Начать новый сеанс:

    $ tmux new 
    
  • Присоединиться к существующему (фоновому) сеансу:

    $ tmux attach 
    

Виртуальные терминалы Linux[править]

  • «Обычные» клавиатурные комбинации:

    • Alt + F1, …, Alt + F12 — переключение на виртуальный терминал (ВТ) № 1‒12;
    • Alt + ← и Alt + → — переключение на предыдущий и следующий ВТ;
    • Shift + PageUp и Shift + PageDown — просмотр буфера прокрутки.
  • Создание нового виртуального терминала с запуском интерпретатора командной строки на нем:

    $ openvt 
    $ open 
    $ busybox openvt 
    
  • Переключение на виртуальный терминал № 5:

    $ chvt 5 
    
  • Удаление виртуального терминала № 3 (если не используется каким-либо процессом):

    $ deallocvt 3 
    

    Удаление всех неиспользуемых:

    $ deallocvt 
    
  • Настройка функций энергосбережения:

    $ setterm -blank 3 -powersave on  -powerdown 7 
    

    Отключение:

    $ setterm -blank 0 -powersave off -powerdown 0 
    
  • Включение Unicode-режима:

    $ unicode_start 
    
  • Установка шрифта CyrSlav-TerminusBold14:

    $ setfont CyrSlav-TerminusBold14 
    

См. также[править]

Дятел