Меню Рубрики

Linux tty копировать вставить

Буфер обмена в Linux (копирование и вставка)

Хочу рассказать о некоторых особенностях буфера обмена в Linux. О буфере копирования и про буфер выбора (первичный буфер), а также про копирование и вставку текста в терминале.

Буфер копирования

Стандартно для копирования и вставки объектов в Linux используются сочетания клавиш Ctrl+C и Ctrl+V. При копировании текст (или любой другой объект) в таком случае попадает в обычный буфер копирования. Затем вы можете вставить этот текст в другом месте.

Буфер выбора (первичный буфер)

В Linux существует еще буфер выбора или первичный буфер. Текст, который вы выделяете в любой программе, автоматически попадает в буфер обмена! Это удобно, выделил текст, открыл другое окно и вставил этот кусок текста. Есть некоторые исключения, но они незначительны. Например, у меня в Ubuntu это не работает, если программа использует JVM (Java Virtual Machine).

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

Копирование и вставка в терминале

В терминале для копирования и вставки не работают стандартные сочетания Ctrl+V, Ctrl+C. Это связано с тем, что исторически Ctrl+C это сочетание клавиш для прерывания текущего процесса. Поэтому, для копирования и вставки при работе в терминале используются сочетания Ctrl+Insert и Shift+Insert соответственно. В Gnome терминале и, наверное, во многих других также работают сочетания Shift+Ctrl+C и Shift+Ctrl+V. Они же указаны в главном меню программы в разделе Правка.

Также в терминале работают сочетания клавиш Ctrl+U, чтобы вырезать текст; и Ctrl+Y для вставки текста. Сочетание Ctrl+U работает особенным образом — в буфер копируется вся текущая строка, введенная в терминале, независимо от того, выбрали вы какой-нибудь текст мышкой или нет, а сама строка пропадает с экрана.

Источник

Linux: копирование /вставка в TTY

Я ищу способ копирования и вставки в TTY. У меня только тачпад, и использование его с помощью gpm — боль. Единственная возможность, о которой я могу думать, это использовать «экран», но даже после переназначения Ctrl-A на «` »это все равно неудобно и медленно.
Есть ли еще более удобные подходы?

6 ответов

Если вам не нравится экран или gpm, ваши альтернативы довольно ограничены. Другие варианты, о которых я могу думать, следующие:

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

Запустите * BSD вместо Linux, что позволит вам использовать sysmouse вместо gpm. Я слышал, что это лучше, и мой ограниченный опыт BSD подсказывает, что это может быть лучше, но я не знаю, лучше ли это в области поддержки буфера обмена. Похоже, что вам в основном просто не нравится ваш трекпад, хотя, возможно, он не может быть заменен без замены.

Использовать каналы, именованные каналы, скретч-файлы и т. д. Например, большинство редакторов unix позволят вам обрабатывать выделенный текст с помощью обычных сценариев командной строки, которые могут быть настроены для сохранения выбора в

/.clipboard, например , Запуск команд, которые вводят текст (cat

/.clipboard), должен быть еще проще.

Используйте редактор, который поддерживает несколько файлов и копирует /вставляет их. vim does, и emacs тоже, я уверен.

Вы можете использовать Ctrl + y для вставки. Чтобы скопировать, это зависит от того, что вы хотите скопировать. Если в командной строке: Ctrl + u вырезать с начала, Ctrl + k , чтобы разрезать до конец.

в зависимости от того, что вы пытаетесь скопировать и вставить . bash имеет режим vi, который вы можете редактировать своими командами более похожими на vi, чем emacs (bash по умолчанию) (zsh имеет режим vim). поместив set -o vi в

/.bashrc, включите его.

tmux похож на screen и дает вам возможность копировать-вставить.

dvtm можно скопировать /вставить с помощью мыши.

Если в буфере обмена есть «wa *», он будет выводить это на любом терминале TTY:

Возможно, это можно сделать еще проще с помощью псевдонимов bash. В любом случае я решил, что, наконец, следующим образом:

1) скопировать текст в буфер обмена в TTY7 — GUI 2), тогда я включаю TTY1 и пишу команду: expandclipboard.sh youtube-dl cb 3) скрипт расширяет команду и вставляет содержимое буфера обмена в место cb и запускается.

Я знаю, что это очень примитивно, но я ленив, чтобы притвориться, что я умнее этого сценария. : -)

Вы можете подключиться к другому компьютеру по SSH, это опция =).

Источник

Что такое TTY в Linux? (и как использовать команду tty)

Что делает команда tty? Она печатает имя терминала, который вы используете. TTY означает «телетайп» (teletypewriter). Какая история стоит за названием команды? Это требует немного большего объяснения.

Телепринтеры 1800-х годов

В 1830-х и 1840-х годах были разработаны машины, известные как телетайпы. Эти машины могли отправлять печатные сообщения «по проводам» в отдалённые места. Сообщения были набраны отправителем на своего рода клавиатуре. У получателя они печатались на бумажке. Они были эволюционным шагом в телеграфии, которая раньше полагалась на коды Морзе и подобные.

Сообщения кодировались и передавались, затем принимались, декодировались и печатались. Для кодирования и декодирования сообщений использовалось несколько методов. Самый известный и один из самых плодотворных был запатентован в 1874 году Эмилем Бодо, в честь которого названа скорость передачи. Его схема кодирования символов предшествовала ASCII на 89 лет.

Кодирование Бодо в конечном итоге стало наиболее близким к стандарту кодирования телетайпов, и его приняли большинство производителей. В оригинальной конструкции Бодо было всего пять кнопок, похожих на клавиши пианино. Оператор должен был выучить определённую комбинацию клавиш для каждой буквы. В конце концов, система кодирования Бодо была объединена с традиционной раскладкой клавиатуры.

Чтобы выделить это достижение, машины были названы teletypewriters. Это название сокращено до teletypes и, в конечном итоге, до TTY. Отсюда мы и получили аббревиатуру TTY, но какое отношение телеграфия имеет к компьютерам?

ASCII и Telex

Когда в 1963 году появился ASCII, он был принят производителями телетайпов. Несмотря на изобретение и широкое распространение телефона, телетайпы все ещё были популярны.

Телекс — это всемирная сеть телетайпов, позволяющая отправлять письменные сообщения по всему миру. Они были основным средством передачи письменных сообщений в период после Второй мировой войны до бума факсимильных аппаратов в 1980-х годах.

Компьютеры тоже развивались. Они стали способны взаимодействовать с пользователями в режиме реального времени и поддерживать нескольких пользователей. Старый пакетный метод работы стал недостаточным. Люди не хотели ждать результатов 24 часа или дольше. Изготовление стопок перфокарт и ожидание результатов в течение ночи было неприемлемо.

Людям требовалось устройство, которое позволяло бы вводить инструкции и получать результаты, отправленные им обратно. Людям нужна была эффективность.

Телетайп перепрофилирован

Телетайп был идеальным кандидатом в качестве устройства ввода/вывода. В конце концов, это было устройство, позволяющее печатать, кодировать, отправлять, получать, декодировать и распечатывать сообщения.

Какое дело телетайпу, если устройство на другом конце соединения не было другим телетайпом? Пока он говорил на одном языке кодирования и мог получать сообщения и отправлять сообщения обратно, телетайп был счастлив.

И, конечно же, использовалась более-менее стандартная клавиатура.

Аппаратно эмулированные телетайпы

Телетайпы стали стандартным средством взаимодействия с большими мини-компьютерами и мэйнфреймами той эпохи.

В конечном итоге они были заменены устройствами, имитирующими эти электромеханические машины с использованием электроники. У них были электронно-лучевые трубки (ЭЛТ) вместо бумажных рулонов. Они не дрожали при ответах с компьютера. Они допускали невозможные до сих пор функции, такие как перемещение курсора по экрану, очистка экрана, выделение текста жирным шрифтом и т. д.

DEC VT05 был ранним примером виртуального телетайпа и предком знаменитого DEC VT100. Были проданы миллионы DEC VT100.

Программно-эмулированные телетайпы

В среде рабочего стола Linux и других Unix-подобных операционных систем, таких как macOS, окно терминала и приложения, такие как x-term и Konsole, являются примерами виртуальных телетайпов. Но они полностью эмулируются программно. Их называют псевдотелетайпами. Это было сокращено до PTS.

И здесь на помощь приходит tty.

Что может нам сказать tty?

В Linux есть мультиплексор псевдотелетайпа, который обрабатывает соединения от всех псевдотелетипов окон терминала (PTS). Мультиплексор является ведущим, а PTS — ведомыми. Мультиплексор адресуется ядром через файл устройства, расположенный в /dev/ptmx.

Команда tty напечатает имя файла устройства, который ваш ведомый псевдотелетайп использует для взаимодействия с мастером. И это, по сути, номер вашего окна терминала.

Посмотрим, какие отчёты tty для нашего окна терминала:

Ответ показывает, что мы подключены к файлу устройства по адресу /dev/pts/2.

Наше окно терминала, которое представляет собой программную эмуляцию телетайпа (TTY), взаимодействует с мультиплексором псевдотелетайпа как псевдотелетайп (PTS). И его номер два.

Тихий вариант

Параметр -s (без вывода сообщений) заставляет tty не генерировать вывода.

Однако он даёт выходное значение:

  • 0: если стандартный ввод поступает с устройства TTY, эмулируемого или физического.
  • 1: если стандартный ввод не поступает с устройства TTY.
  • 2: Синтаксическая ошибка, использовались неверные параметры командной строки.
  • 3: Произошла ошибка записи.

Это, вероятно, будет наиболее полезно в сценариях Bash. Но даже в командной строке мы можем продемонстрировать, как выполнить команду, только если вы работаете в окне терминала (TTY или сеанс PTS).

Поскольку мы работаем в сеансе TTY, наш код выхода равен 0, и выполняется вторая команда.

Команда who

Другие команды могут показать ваш номер TTY. Команда who отобразит информацию обо всех вошедших в систему пользователях, включая вас.

Алек и Мэри удаленно подключены к компьютеру с Linux. Они подключены к PTS один и два.

Пользователь dave показан как подключенный к «:0». Это экран и клавиатура, физически подключённые к компьютеру.

Несмотря на то, что экран и клавиатура являются аппаратными устройствами, они всё равно подключены к мультиплексору через файл устройства. tty показывает, что это /dev/pts/2.

Доступ к телетайпу

Вы можете получить доступ к полноэкранному сеансу TTY, удерживая клавиши Ctrl+Alt и нажав одну из функциональных клавиш.

Ctrl+Alt+F3 вызовет приглашение входа на tty3.

Если вы войдёте в систему и введёте команду tty, вы увидите, что подключены к /dev/tty3.

Это не псевдотелетайп (эмулируемый в программном обеспечении); это виртуальный телетайп (эмулируемый аппаратно). Он использует экран и клавиатуру, подключённые к вашему компьютеру, для имитации виртуального телетайпа, как это делал DEC VT100.

Вы можете использовать функциональные клавиши Ctrl+Alt с функциональными клавишами от F3 до F6 и при желании открыть четыре сеанса телетайпа. Например, вы можете войти в tty3 и нажать Ctrl+Alt+F6, чтобы перейти на tty6.

Чтобы вернуться в графическую среду рабочего стола, нажмите Ctrl+Alt+F2.

Нажав Ctrl+Alt+F1, вы вернётесь в окно входа в систему в сеансе графического рабочего стола.

Сочетания клавиш Ctrl+Alt+F1 до Ctrl+Alt+F6 откроются полноэкранные консоли TTY, а Ctrl+Alt+F7 вернёт вас в графическую среду рабочего стола. Такое поведение может быть на более старых дистрибутивах Linux.

Это было протестировано на текущих выпусках Manjaro, Ubuntu и Fedora, и все они вели себя следующим образом:

  • Ctrl+Alt+F1: возврат к экрану входа в графическую среду рабочего стола.
  • Ctrl+Alt+F2: возврат в графическую среду рабочего стола.
  • Ctrl+Alt+F3: открывает TTY 3.
  • Ctrl+Alt+F4: открывает TTY 4.
  • Ctrl+Alt+F5: открывает TTY 5.
  • Ctrl+Alt+F6: открывает TTY 6.

У Kali Linux графический интерфейс открывается при нажатии Ctrl+Alt+F7.

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

Вы когда-нибудь работали на Linux-машине с графической средой рабочего стола и что-то заставляло ваш сеанс зависать? Теперь вы можете перейти к одному из сеансов консоли TTY, чтобы попытаться исправить ситуацию.

Вы можете использовать top и ps, чтобы попытаться идентифицировать отказавшее приложение, затем используйте kill, чтобы завершить его, или просто используйте shutdown, чтобы попытаться завершить работу настолько изящно, насколько позволяет состояние компьютера.

Три маленьких буквы с большой историей

Команда tty получила своё название от устройства конца 1800-х годов, появилось в Unix в 1971 году и по сей день является частью Linux и Unix-подобных операционных систем.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Terminal for mac os
  • Telnet для mac os
  • Telnet mac os high sierra
  • Telegram для mac os русификация
  • Telegram mac os русификатор