私が達成したいことが何であるかを説明します。私たちは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
そこに追加します。