내가 달성하고 싶은 것이 무엇인지 설명하겠습니다. 우리는 2단계 인증을 사용하고 있으며 TOTP 토큰을 생성하고 이를 Firefox의 일부 바로가기에 붙여넣는 스크립트를 만들고 싶습니다. 그래서 이런 스크립트를 만들었습니다.
#!/bin/sh
echo $(oathtool --totp some-seed)
하지만 이 스크립트에 바로가기를 할당하면 콘솔 이외의 다른 곳에서는 PIN을 인쇄할 수 없습니다. 좋습니다. 이것을 시도하는 것이 순진하다는 것은 알지만, 내 목표를 달성하는 가장 좋은 방법은 무엇입니까?
답변1
답변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
세션에서 프로그램을 시작 해야 합니다 . 데스크톱 환경을 사용하는 경우 런처에 추가하세요. 예를 들어 스크립트에서 세션을 시작하는 경우 스크립트 ~/.xinitrc
를 xbindkeys
거기에 추가하세요.