바로가기를 통해 스크립트의 텍스트를 다른 응용프로그램에 붙여넣기

바로가기를 통해 스크립트의 텍스트를 다른 응용프로그램에 붙여넣기

내가 달성하고 싶은 것이 무엇인지 설명하겠습니다. 우리는 2단계 인증을 사용하고 있으며 TOTP 토큰을 생성하고 이를 Firefox의 일부 바로가기에 붙여넣는 스크립트를 만들고 싶습니다. 그래서 이런 스크립트를 만들었습니다.

#!/bin/sh

echo $(oathtool --totp some-seed)

하지만 이 스크립트에 바로가기를 할당하면 콘솔 이외의 다른 곳에서는 PIN을 인쇄할 수 없습니다. 좋습니다. 이것을 시도하는 것이 순진하다는 것은 알지만, 내 목표를 달성하는 가장 좋은 방법은 무엇입니까?

답변1

당신은 그것을 사용할 수 있습니다xclip.

oathtool --totp some-seed | xclip

명령의 출력은 X 기본 선택 항목에 있으며 마우스 가운데 버튼을 클릭하여 붙여넣을 수 있습니다.

+를 사용하여 Firefox에 Ctrl붙여넣기 위해 클립보드로 보낼 수도 있습니다.V

some_command | xclip -selection clipboard

xdotool아니면 지시대로 사용하세요이 질문에는

답변2

여기 하나 있어요효과적인 솔루션고통은 없습니다.

sendkeys여기에서 스크립트를 설치하십시오.https://github.com/kyoto/sendkeys

귀하의 경우에는 다음과 같이 하십시오:

oathtool --totp some-seed | xargs sendkeys.sh 'Firefox'

oathtool그러면 열린 Firefox 창으로 출력이 전송됩니다 .

이 스크립트는 제목을 기준으로 창을 검색합니다. 따라서 Libreoffice Writer로 스크립트를 보내려면 "Writer"를 사용하면 됩니다.

답변3

다음 xbindkeys 작업은 xvkbd 명령을 사용하며 클립보드를 방해하지 않습니다.

xvkbd는 X 윈도우 시스템용 가상(그래픽) 키보드 프로그램입니다.

xvkbd -xsendevent -text `oathtool 00`

답변4

당신은 결합할 수 있습니다xbindkeys그리고xdo 도구키를 바인딩하여 포커스가 있는 모든 애플리케이션에 명령 출력을 삽입합니다. Ctrl++ 와 같은 키를 선택 Shift하고 F1다음을 입력하세요 ~/.xbindkeysrc.

"xdotool type $(oathtool --totp some-seed)"
control+shift+F1

xbindkeys세션에서 프로그램을 시작 해야 합니다 . 데스크톱 환경을 사용하는 경우 런처에 ​​추가하세요. 예를 들어 스크립트에서 세션을 시작하는 경우 스크립트 ~/.xinitrcxbindkeys거기에 추가하세요.

관련 정보