Довольно часто возникает потребность в нескольких буферах обмена между открытыми консольными сессиями. Задача легко решаема при помощи [[https://www.gnu.org/software/screen/manual/html_node/Registe... регистров]]
в [[https://www.gnu.org/software/screen/ GNU Screen]]. Для создания и быстрого доступа к дополнительным буферам необходимо задать в файле $HOME/.screenrc команды копирования в регистр
[[https://www.gnu.org/software/screen/manual/html_node/Paste.html readreg]] и чтения из регистра [[https://www.gnu.org/software/screen/manual/html_node/Paste.html paste]]. Ниже пример добавления буферов, закрепленных за клавишами 1 и 2:
bind -c pastdemo1 1 paste 1
bind -c pastdemo1 2 paste 2
bindkey "^V" command -c pastdemo1
bind -c copydemo1 1 readreg 1
bind -c copydemo1 2 readreg 2
bindkey "^C" command -c copydemo1В результате по нажатию клавиш control v 1
ctrl v 1
в активную сессию будет вставлен первый буфер, по ctrl v 2 второй. Получилось некое подобие именованных буферов ViM.
Чтобы заполнить второй буфер надо обычным образом [[https://www.gnu.org/software/screen/manual/html_node/Copy.ht... заполнить]] стандартный буфер обмена Gnu Screen, то есть выполнить
ctrl A ctrl [
далее выбрать на терминале текст, что необходимо скопировать. Потом скопировать текст из обычного буфера в регистр 2 нажатием клавиш
ctrl c 2
Было бы удобнее, если бы по ctrl c 2 открывался режим копирования, как в стандартный буфер. Ещё хорошо бы если этот биндинг задавался проще - через что-то вроде bind -c copydemo1 * readreg *, но и данный пример конфигурации не сильно сложен.
URL: http://kunschikov.blogspot.com/2017/02/multiple-copypaste-bu...
Обсуждается: http://www.opennet.me/tips/info/3011.shtml
21 век. Обалдеть.
https://trends.google.ru/trends/explore?date=all&q=computer&...,vim
Прикольно... https://trends.google.ru/trends/explore?date=all&q=ubuntu,suse,centos,debian,fedora
Странный сайт. Набрал "мыло из" и он мне вернул перечень:
Штутгоф
Лагеря смертиЧто бы это могло значить?..
> Странный сайт. Набрал "мыло из" и он мне вернул перечень:
> Штутгоф
> Лагеря смерти
>
> Что бы это могло значить?..Это гугл, и перечень формируется на основе ваших предпочтений, предположение о которых строятся на основе ваших поисковых запросов, активности в социальных сетях и просмотре видеороликов.
Учитывая, что ваш ник adolfus, перечень формируется весьма релевантно. :)
https://trends.google.ru/trends/explore?date=all&q=%2Fm...,vim
Был когда-то очень давно такой консольный тулкит - TurboVision, здорово мышью управлялся. Вот бы на нём аналог GNU Screen.
Ну да, в 21 веке всё должно иметь гуи или веб-интерфейс. Хочешь поковыряться в конфигах на сервере? Запускай удаленный рабочий стол и навороченный редактор с гуём. Написать скрипт? Запускай Visual Studio. Не то что эти отсталые консольщики.
а ты откуда удаленно заходишь-то? из голой консоли, что ли? мне для подобных целей более чем хватает иксовых буферов
> Довольно часто возникает потребность в нескольких буферах обмена между открытыми консольными сессиями.Мне для этого вполне хватает стандартного буфера (Ctrl+Shift+[C,V]), как первого и стандартной вставки выделенного средней кнопкой мыши, как второго.
Отказываясь от использования screen/tmux при работе в консоли с несколькими сессиями вы сами себе отказываете в ряде удобств. Представим, что вы заходите по ссш на удалённый клиентский сервер через какую-либо промежуточную машину и далее на этом удалённом сервере поднимаете полномочия. Вам нужно в простейшем случае как минимум три пароля: доступ к внешней машине, доступ к удалённому серверу, root-пароль к серверу. Далее вы работаете в одной консоли, в других запустили, предположим, top, tcpdump, что-то ещё. Уже эти три пароля лучше где-то запомнить. Далее надо рассмотреть архив логов с каким-нибудь именем типа январь-15-проблемы52.tgz из папки в /home/user/logs/, и тп
откройте для себя уже наконец логин по ключу и Agent-Forward
У меня тоже в манямирке авторизация по ключам. В жизни как-то иначе. Рад за вас.
Паршивая у вас жизнь. Попробуйте что-то изменить к лучшему.
> У меня тоже в манямирке авторизация по ключам. В жизни как-то иначе.
> Рад за вас.в жизни на удаленном сервере один раз делаете:
mkdir -p ~/.ssh
cat >> ~/.ssh/authorized_keysи вставляете ваш ключ. Все, больше вам пароль туда не нужен.
>больше вам пароль туда не нужен.В идеальном случае, скорее всего, больше вы не зайдете: после диагностики проблемы будет обновление, после которого у клиента "все будет хорошо" и повторный заход не понадобится.
> У меня тоже в манямирке авторизация по ключам. В жизни как-то иначе.В альте специальная штатная ручка даже есть:
# control | grep sshd(вторая, см. тж. http://altlinux.org/control)...
sshd-allow-groups enabled (enabled disabled)
sshd-password-auth disabled (enabled disabled default)
Опуская детали: был эпизодец в моей биографии, десять лет разрабатывал биллинги и айпитиви, постоянно приходилось заходить к лучшему тестеру - к конечным клиентам - по ssh. Авторизацию по ключам можно пересчитать по пальцам одной руки. В числе клиентов, куда приходилось ломиться, крупный региональный производитель с зоопарком железа и операционных систем, голландский поставщик решений на реальные кораблики, с кем только не приходилось иметь дело. Часто от машины входа в сеть клиента на приставки приходилось ломиться по телнету. Часто приходилось уже после логина вбивать пароли на судо и рут уже ПОСЛЕ авторизации не-рутом.
В конце концов, речь не о паролях. Речь о возможности иметь несколько буферов обмена.
> откройте для себя уже наконец логин по ключу и Agent-ForwardТолько не забывайте, что если кто-то имеет рут-доступ к этой машине, помимо Вас, то на время активности Вашей ssh-сессии этот кто-то может воспользоваться Вашим ключом.
>> откройте для себя уже наконец логин по ключу и Agent-Forward
> Только не забывайте, что если кто-то имеет рут-доступ к этой машине, помимо
> Вас, то на время активности Вашей ssh-сессии этот кто-то может воспользоваться
> Вашим ключом.-c
И как это поможет?
> И как это поможет?Попытка будет видна.
>Только не забывайте, что если кто-то имеет рут-доступ к этой машине, помимо Вас, то на время активности Вашей ssh-сессии этот кто-то может воспользоваться Вашим ключом.А перехватить вводимый пароль он, значит, не сможет?
> откройте для себя уже наконец логин по ключу и Agent-ForwardИ ssh -At плюс, возможно, autossh.
в какой консоли? xterm/urxvt, screen/tmux как локально, так и на удаленных, выделяй себе, что надо мышью да вставляй куда надо через shift+ins. для эстетов и любителей комфорта существует куча тулзин типа klipper/parcellite с историей и прочими плюшками
Я не запрещаю вам использовать вставку по средней кнопке мыши. Совет о том, что есть гораздо более удобная альтернатива, встроенная в screen.
чем именно она удобнее?
скоростью работы, ненужностью отвлечения на сторонние терминалы/окошки, где хранится список используемых строк. Смотрите, чтобы скопировать мышкой вам надо а) переключиться на другое окно б) выделить в) вставить, причем для каждой необходимой строки. Здесь же надо нажать три клавиши - и нужный текст вставлен.
мил человек, мне не нужно никуда переключаться. ключевое слово - менеджер буфера обмена. вызов меню по хоткею (у меня ctrl+alt+h), выбор нужного фрагмента, если он не по умолчанию, shift+ins для вставки. и не нужно помнить, какой кусок где хранится, и какую цифирь нажимать
каким образом вы производите выбор нужного фрагмента?
а каким образом вы предлагаете?
не отвлекаясь на никакие попап-сообщения и даже не убирая рук с клавиатуры, как и описал в данном совете. Не задумываясь, есть ли на текущей моей машине, с которой я подключился к скрину, какой-либо менеджер буфера обмена вообще. Не потянувшись за мышкой и её третьей кнопкой.
Молодой ещо, не опытный... :)
Если б этот менеджер буфера обмена был доступен при подключении к GNU Screen, ещё б куда ни шло, но так совсем мимо кассы получается. У вас консоли как вкладки в браузере? Откройте для себя обсуждаемое здесь приложение.
> Отказываясь от использования screen/tmux при работе в консоли с несколькими сессиями вы
> сами себе отказываете в ряде удобств. Представим, что вы заходите
> по ссш на удалённый клиентский сервер через какую-либо промежуточную машину и
> далее на этом удалённом сервере поднимаете полномочия. Вам нужно в простейшем
> случае как минимум три пароля: доступ к внешней машине, доступ к
> удалённому серверу, root-пароль к серверу. Далее вы работаете в одной
> Уже эти три пароля лучше где-то запомнить.не очень понял, как screen поможет с паролями?
три пароля в трёх буферах; вставка из них по приглашению ssh или scp.
Что такое пароли? Зачем они нужны если есть ключи?
-Я не ем мясо.
-Но я же спросил, который час?
-Я фрукторианин.
-Теперь понятно
>Уже эти три пароля лучше где-то запомнить.Запомнить. В голове. А не в буферах скрина, тимукса! Ваш юзкейс кривой. Кому нужно множество буферов тот о них и без вас знает.
> Кому нужно множество буферов тот о них и без вас знает.Готового решения не нагугливается. Приходится курить маны. Как бы упростил жизнь ищущим.
>Запомнить. В голове. А не в буферах скрина, тимукса! Ваш юзкейс кривой.Да зачем? Кстати, интересно, как множество буферов будет в tmux. Сможет ли он вставить текст по приглашению ssh? В доступ к запароленному ключу?
>> Кому нужно множество буферов тот о них и без вас знает.
> Готового решения не нагугливается. Приходится курить маны. Как бы упростил жизнь ищущим.За что и спасибо -- порой бывает полезно _услышать_, чтоб при необходимости _почитать_.
Все таки, главный плюс Screen - это возможность продолжения выполнения после отключения (ну и как бонус - продолжение выполнения после внезапного отключения).
# screen
bash: screen: command not foundПля, как я жил на лялихе 22 года, без этого...
Сидя под рутом? Видимо, не 22 года, а 13 лет. Тебе.
Кстате, афтор ваще в курсе, что ^C - это сигнал SIGTERM процессу?
Меж прочим в каком-то стандарте, типа XCU X/Open и POSIXИ вообще, вылазь из анабиоза, на дворе 2017,а не 1987.
В правильных конторах стоят линухи с Xorg, кнопки Ctrl+Alt-F1...F7 забанены,
Ctrl+Alt-Backspace тоже. ...
SIGINT, Павел.
> SIGINT, Павел.Ну да, 2-ой