コマンドラインでPDFを開き、コマンドラインに戻る

コマンドラインでPDFを開き、コマンドラインに戻る

コマンドラインからevinceでPDFを開きたいのですが、Evinceウィンドウが開いた後、ターミナルコマンドに戻って$次のコマンドを待ちたいと思います。

$このコマンドを実行すると、PDFがウィンドウで開き、ターミナルに戻るときにEnterを押して、次のコマンドを待つ必要があります。

$ evince foo.pdf &

次のコマンドを入力するためにEnterをダブルクリックする必要がない方法を知っていますか?

コマンドラインを閉じた後に開いているウィンドウが閉じても問題ありません(つまり、nohup必要はありません)。

私はbashバージョン5.1.16を使用しています。

答え1

実際にEnterキーを押す必要はなく、端末を直接使用できます。何が起こるのかは、evinceさまざまなメッセージが標準エラーで印刷されることです。バラよりまだ準備ができていないようです。ただし、これを無視してコマンドを入力すると、どのように機能するかを確認できます。

とにかく、私はこれがあまり実用的ではないことを知っているので、標準エラーを次にリダイレクトできます/dev/null

evince foo.pdf 2>/dev/null &

このような内容を毎回作成したくない場合は、小さな関数を書くだけです。次の行をあなたの行~/.bashrc(または他のシェルの場合はそれに対応する行)に追加します。

evince(){
   command evince "$@" 2> /dev/null
}

commandこれはrealを取得しevince、関数名を無視し、使用する引数を関数("$@")に直接渡してstderrをdev / nullにリダイレクトする方法として使用されます。

ファイルを保存して新しい端末を開くと、evince好きな方法で使用できます。

答え2

gnomeを使用している場合は、次のものを使用できます。

xdg-open myfile

利点は、これがすべての種類のファイルまたはディレクトリに対して機能し、アンバーサントとリダイレクトを必要としないことです。

答え3

これは私がよく使うワークフローの1つです。

私はHTMLなどの明示的なハイパーリンク(OSC 8エスケープシーケンス)をサポートするターミナルエミュレータを使用しています。これらの端末エミュレータがたくさんあります。

私はfromに設定しましたaliaslsそしてls --hyperlink=autoここに関連していないいくつかの異なるオプションもあります)。このコマンドラインオプションを持つほとんどのLinuxシステムでは、デフォルト値lsから来ます。GNU coreutils

ls指定したファイル名を印刷するように指示します。ワイルドカードを使用してリストの範囲を絞り込むことも、タブ補完機能を使用して必要なファイル名のみを一覧表示することもできます。あるいは、単にディレクトリ全体を一覧表示することもできます。あるいは、そのファイルがディレクトリ内の最新のファイルの1つでリストのls -ltr最後にある場合は、名前を覚えておく必要はありません。最も便利だと思われるもの、またはその時に入力したいもののいずれかが可能です。

次に、印刷されたリンクをCtrlキーを押しながらクリックすると(一部のターミナルエミュレータではリンクを開くために他の操作が必要になる場合があります)、デフォルトのハンドラアプリケーションでファイルが開きます。

これにより、デフォルトのアプリの名前(それとはevince別のもの)を覚えたり、入力したりする必要はなく、上記の説明のように一般的な名前xdg-openや長すぎる名前を入力する必要がなくなります。gapplication launch org.gnome.Evince

私のPDFや同様のファイルには、名前に特殊文字(スペースなど)が含まれることがよくあります。これは制御できない部分です(多くのファイルをWebからダウンロードしたり、電子メールなどの他のソースから受信するのに怠惰にすることはできません)。使いやすい文字のみを含むすべての名前を変更します。この方法はこれらの文字を安全に処理するため、引用やエスケープ処理を行う必要はありません。

デフォルトでは、アプリケーションはターミナルセッションの外部で実行されます。つまり、アプリケーションの標準出力やエラーは表示されず、端末セッションを妨げません。

1つの明らかな欠点は、指定されたファイル形式の基本アプリケーションを起動し、ワンタイム例外を選択できないことです。 (理論的には、ターミナルエミュレータが右クリックメニューなどでさまざまなアプリケーションを選択できるようにすることが可能です。どうかわかりません。)他のアプリケーションで開く必要がある場合は、より多くの方法を使います。標準的な方法。

私は個人的にこの方法がとても好きで、とても速くて便利だと思います。旅行費用は変更されることがあります。一度試して、気に入ったことを確認してください。

関連情報