퍼티가 Linux에서 마우스 오른쪽 버튼 클릭 붙여넣기를 사용하도록 강제

퍼티가 Linux에서 마우스 오른쪽 버튼 클릭 붙여넣기를 사용하도록 강제

puttyZorin OS(Ubuntu 기반)에서 마우스 오른쪽 버튼을 클릭하여 강제로 붙여넣기를 허용하는 방법이 있습니까 ?

오른쪽 버튼을 누르면 선택 항목이 붙여넣어지는 Windows의 동작이 마음에 듭니다.

답변1

사용자로서 @ateijelo에서 말했다그들의 대답아직 구현되지 않았기 때문에 Unix에서는 "Compromise(가운데 확장, 오른쪽 붙여넣기)"를 사용할 수 없습니다. 왜 안되는지 모르겠습니다. 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를 다시 빌드해야 합니다. 그것은 간단한 과정입니다.

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가 업데이트되고 있다는 사실조차 깨닫지 못할 수도 있습니다) 업그레이드). 또는 ~/binPutty 앞과 같은 다른 위치 ~/bin에 Putty 포크를 배치하여 $PATH포크가 시스템 전체 Putty 바이너리보다 먼저 선택되도록 할 수 있습니다. 그리고 이 작은 변화가 어떤 부작용을 가져올지 모르겠습니다.

저도 사용을 고려하고 있는데 xdotoolX를 쓰시는지, Wayland를 쓰시는지는 잘 모르겠지만 그냥 소스코드에서 한줄만 수정하시는게 더 편한거 같아요.

답변2

Ctrl 키를 누른 채 Putty 창을 마우스 오른쪽 버튼으로 클릭하면 메뉴에서 클립보드에서 붙여넣기 또는 클립보드로 복사를 선택할 수 있습니다. 충분히 가깝나요?

답변3

MS-Windows/dos/cmd 터미널에는 마지막 선택 항목을 마우스 오른쪽 버튼 클릭으로 바인딩하는 기능이 있습니다(활성화된 경우). 퍼티도 아마 같은 일을 하고 있을 겁니다.

많은 X11 프로그램은 이를 중간 클릭에 바인딩합니다. 그러나 옵션을 선택하기 위해 추가로 클릭할 필요는 없습니다. 이는 openssh와 함께 사용됩니다.

왜 누군가가 Microsoft Windows 외부에서 PuTTY를 사용하는지 모르겠지만(사람들이 탈출하는 데 도움이 되는 MS-Windows용 ssh이며 konsole의 open-ssh-client만큼 좋지 않습니다). Debian 10의 PuTTY 터미널에 마우스 가운데 버튼을 클릭하면 붙여넣는 것을 확인했습니다.

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

답변4

퍼티가 Linux에서 마우스 오른쪽 버튼을 클릭하도록 강제하는 방법을 모르지만 가능하면 더 나은 프로그램을 사용하는 것이 좋습니다(다른 답변과 마찬가지로).

여기 있는 모든 사람들은 SSH에 퍼티를 사용한다고 가정합니다. 그렇다면 표준 터미널과 SSH 프로그램을 사용하는 것이 좋습니다.

하지만 직렬 인터페이스를 사용하는 경우에는 스크린 터미널 에뮬레이터를 사용하는 것이 좋습니다. 예를 들어 sudo --group dialout screen /dev/ttyUSB0 115200직렬 장치와 상호 작용하기 위해 이와 같이 실행합니다 . 이 방법을 사용하면 즉시 실행 창만 표시됩니다. 스크롤백에 액세스해야 하는 경우 단축키 Ctrl+a, [를 사용해야 하며 그런 다음 화살표 키를 사용하여 기록을 탐색할 수 있습니다. 복사 모드를 종료하고 현재 줄로 돌아가려면 Esc 키를 누르기만 하면 됩니다.

표준 터미널을 사용하면 마우스 오른쪽 버튼 클릭이나 단축키(터미널에서 지원하는 경우)를 통해 다른 터미널 프로그램과 마찬가지로 복사하여 붙여넣을 수 있습니다. 화면을 통해 수행해야 하는 작업에 따라 유용할 수도 있고 그렇지 않을 수도 있는 다양한 기능을 얻을 수도 있습니다.

Telnet과 Putty가 지원하는 다른 통신의 경우 Linux에 대한 유사한 대안이 많이 있을 것이라고 확신합니다.

이것이 귀하의 사용 사례에 해당되지 않는 경우 PuTTY를 사용하는 용도가 무엇인지 실제로 알 수 있도록 질문을 수정하여 최선의 조언을 제공할 것을 제안합니다.

관련 정보