Заставить шпатлевку использовать правую кнопку мыши для вставки в Linux

Я думаю, вы задаете неправильный вопрос. Похоже, вы спрашиваете :«Как я могу использовать этот сломанный загрузчик (, который может не работать )для загрузки с этого USB?»

Вам не нужно проходить через жесткий диск -с установленным GRUB для его загрузки. На USB должна быть собственная версия GRUB, которую вы можете загрузить прямо из прошивки. Что вам нужно сделать, так это зайти в меню прошивки и убедиться, что она настроена на загрузку с USB. Затем вы сможете загрузить свою систему и исправить загрузчик.

Это то, что вы должны были бы сделать, если бы, например, ваш жесткий диск катастрофически вышел из строя, и вам пришлось бы заменить его новым, пустым. Должен быть способ загрузить живой USB и установить систему без необходимости установки GRUB на жесткий диск.

5
22.02.2020, 15:14
6 ответов

Как пользователь @ateijelo сказал в их ответ это невозможно использовать «Компромисс (Средние расширения, правые пасты )» на Unix, потому что он не реализован. Я не знаю, почему ты не следует спросить об этом у разработчиков Putty, скорее всего, ни у кого нет даже запросил это. Но, благодаря природе открытого исходного кода, вы всегда можете изменить исходный код программы в соответствии с вашими потребностями и использовать его. То следующий патч изменит поведение щелчка правой кнопкой мыши по умолчанию и заставит его вставить текст:

diff --git a/unix/gtkwin.c b/unix/gtkwin.c
index 5660ee9..4f2ec2b 100644
--- a/unix/gtkwin.c
+++ b/unix/gtkwin.c
@@ -447,7 +447,7 @@ static Mouse_Button translate_button(Mouse_Button button)
     if (button == MBT_MIDDLE)
         return MBT_PASTE;
     if (button == MBT_RIGHT)
-        return MBT_EXTEND;
+        return MBT_PASTE;
     return 0;                          /* shouldn't happen */
 }

diff --git a/unix/uxsftpserver.c b/unix/uxsftpserver.c
index a90344e..6fab0ba 100644
--- a/unix/uxsftpserver.c
+++ b/unix/uxsftpserver.c
@@ -412,16 +412,6 @@ static void uss_fstat(SftpServer *srv, SftpReplyBuilder *reply,
     }
 }

-#if !HAVE_FUTIMES
-static inline int futimes(int fd, const struct timeval tv[2])
-{
-    /* If the OS doesn't support futimes(3) then we have to pretend it
-     * always returns failure */
-    errno = EINVAL;
-    return -1;
-}
-#endif
-
 /*
  * The guts of setstat and fsetstat, macroised so that they can call
  * fchown(fd,...) or chown(path,...) depending on parameters.

Вы должны получить исходный код Putty, применить патч и -собрать заново. Замазка. Хотя это простой процесс.

Клонировать репозиторий Putty:

git clone git://git.tartarus.org/simon/putty.git && cd putty

Сохраните патч, который я вставил выше, в MBT _PASTE.patch и примените его (, если не удается загрузить патч напрямую изhttp://drabczyk.org/MTB_PASTE.patch):

git apply MTB_PASTE.patch

Строительная замазка:

$ cd unix
$../mkfiles.pl  &&../mkauto.sh
$ make -j$(nproc) -f Makefile.gtk LDFLAGS="-Wl,--no-as-needed,-ldl"

На моей машине сборка занимает всего 6 секунд. Запустите только что построенный Двоичный файл Putty:

./putty

Вы должны увидеть все сохраненные сеансы и настройки так же, как если бы вы смотрел, как Putty установил систему -широко, используя пакет вашего дистрибутива управляющий делами. Теперь вы сможете вставить выделенный текст правой нажмите. Если вы не хотите самостоятельно перекомпилировать Putty и вам поверьте мне, вы можете получить предварительно скомпилированный двоичный файл отсюдаhttp://drabczyk.org/putty.

Этот метод, конечно, имеет свои недостатки. Изменение, которое у меня есть введенный официально не принят разработчиками Putty, что означает вы сейчас используете вилка . Если вы заменяете двоичный файл Putty, установленный менеджером пакетов вашего дистрибутива при этом он будет заменяться каждый раз, когда вы обновляете Putty, используя ваш диспетчер пакетов дистрибутива (, и иногда вы можете даже не осознавать, что Putty обновляется, например, при запуске массивной системы обновить ). Альтернативно,вы можете разместить свою вилку Putty в другом месте, например, в ~/binи добавьте ~/binк вашему $PATH, чтобы fork будет выбран перед системным -широким двоичным файлом Putty. я тоже не знать, какие нежелательные побочные эффекты может вызвать это небольшое изменение, если таковые имеются.

Я также подумывал об использовании xdotool, но не уверен, что вы запустите X или Wayland, и я думаю, что изменение одной строки в исходном коде код вообще проще.

2
28.04.2021, 23:23

Терминал MS -Windows/dos/cmd имеет функцию вставки -последнего -выделения, связанного с правым щелчком (, если оно включено ). Putty может делать то же самое.

Во многих программах X11 эта функция привязана к среднему щелчку. Однако нет необходимости выделять выделение дополнительным щелчком. Это будет работать с openssh.

Хотя я понятия не имею, зачем кому-то использовать PuTTY за пределами Microsoft Windows (Это ssh для MS -Windows, чтобы помочь людям сбежать, и не так хорошо, как открытый -ssh -клиент в консоль ). Я подтвердил, что средний щелчок -вставляется в терминал PuTTY в Debian 10:

Putty Release 0.70
Build platform: 64-bit Unix (GTK + X11)
Compiler: gcc 8.3.0
Compiled against GTK version 3.24.5
Source commit: 3cd10509a51edf5a21cdc80aabf7e6a934522d47
0
28.04.2021, 23:23

Хотя я не знаю, как заставить шпатлевку использовать правый -щелчок в Linux, я предлагаю (, как и другие ответы ), использовать лучшую программу, если это вообще возможно.

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

Однако, если вы используете последовательный интерфейс, я бы рекомендовал вместо этого использовать эмулятор экранного терминала. Например, я запускаю его вот так sudo --group dialout screen /dev/ttyUSB0 115200для взаимодействия с нашими последовательными устройствами. При таком подходе вы получаете только непосредственное окно, однако, если вам нужно получить доступ к прокрутке, вам придется использовать горячую клавишу Ctrl + a, [ тогда вы можете использовать клавиши со стрелками для навигации по истории. Просто нажмите Esc, чтобы выйти из режима копирования и вернуться к текущей строке.

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

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

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

-1
28.04.2021, 23:23

Удерживая CTRL + щелчок правой кнопкой мыши в окне шпатлевки, вы сможете выбрать «Вставить из БУФЕРА ОБМЕНА» или «Копировать в БУФЕР ОБМЕНА» из меню. Достаточно близко?

1
28.04.2021, 23:23

Я не принес хороших новостей. Документы говорят об этом:

Windows often only has two mouse buttons, so when run on Windows, PuTTY is configurable. In PuTTY's default configuration (‘Compromise’), the right button pastes, and the middle button (if you have one) extends a selection.

If you have a three-button mouse and you are already used to the xterm arrangement, you can select it using the ‘Action of mouse buttons’ control.

и действительно, в конфиге есть дополнительный раздел:

enter image description here

И даже если вы выставите опцию MouseIsXterm=1в конфигурационном файле сохраненной сессии, PuTTY обращает на это внимание только при работе в Windows. Найдите mouse_is_xtermв исходном файле windows.c .

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

0
28.04.2021, 23:23

Хорошо, основываясь на ответе @arkadiusz -drabczyk, я расскажу, как создать собственную версию PuTTY на Debian:

Включите исходные URI в исходных файлах apt. Это можно сделать с помощью пользовательского интерфейса во многих дистрибутивах :

.

enter image description here

или убедившись, что в /etc/apt/sources.list есть строки, которые выглядят так:

deb-src http://deb.debian.org/debian/ stable main contrib non-free

Получив их, выполните следующие действия:

mkdir putty
cd putty
sudo apt-get update
sudo apt-get install wget
sudo apt-get build-dep putty
apt-get source putty
cd putty-0.70
sed -i 's/return MBT_EXTEND/return MBT_PASTE/' unix/gtkwin.c
dpkg-buildpackage -b --no-sign
cd..
sudo dpkg -i putty_0.70-6_amd64.deb putty-tools_0.70-6_amd64.deb

Проверьте, где написано 0.70, и выберите нужную версию. Это должно установить ваш модифицированный PuTTy.

1
28.04.2021, 23:23

Теги

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