コマンドラインには、ファイルの種類に基づいて、特定のファイルを開くために使用するプログラムの推奨リストを取得する方法がありますか?たとえば、.pdf
ファイルには、プログラムEvince
およびopen with...
を使用したDocument Viewer
推奨事項があります。
ほとんどの場合コマンドラインを使用しますが、特定の種類のファイルを開くために使用するプログラムの名前を忘れることがあります。
ところで、私はUbuntu 13.10を使用しています。
プロチップ
以下の@slmの選択された回答のおかげで、openwith.sh
というファイルに次のbashスクリプトを作成しました。
xdg-mime query default $(xdg-mime query filetype $1)
エイリアスとして追加するか、openwith
コマンドとして直接実行します。
「で開く...」として機能するコマンドは今まで見たことはありませんが、コマンドxdg-open <file>
を使用して、関連付けられているアプリケーションで特定の<file>
を開くことができます。特定のタイプのファイル。
テキストファイルを開く:
$ xdg-open tstfile.txt
$
結果として、ファイルtstfile.txt
がgedit
で開かれます。
LibreOffice Writerドキュメントを開く:
$ xdg-open tstfile.odt
$
その結果、ファイルtstfile.odt
がWriterで開かれます。
xdg-mime
を使用してシステムにクエリを実行し、特定のファイルタイプに関連付けられているアプリケーションを見つけることができます。
$ xdg-mime query default $(xdg-mime query filetype tstfile.txt)
gedit.desktop calibre-ebook-viewer.desktop
$ xdg-mime query default $(xdg-mime query filetype tstfile.odt)
libreoffice-writer.desktop calibre-ebook-viewer.desktop
これは2ステップの操作です。最初に、指定されたファイルxdg-mime query filetype tstfile.txt
のMIMEタイプを照会しています。これにより、text/plain
が返されます。次に、これを使用して別の検索を実行し、このMIMEタイプに関連付けられているアプリケーションのリストを見つけます。上記のように、.txt
ファイル用に2つのアプリgedit
とcalibre
が関連付けられています。
xdg-mime
を使用して、関連付けを変更することもできます。詳細については、man xdg-mime
をご覧ください。
ほとんどコマンドラインで作業している場合は、cursベースのファイルマネージャー( ranger または vifm など)を確認できます。どちらでも、ファイルタイプのデフォルトアクションを定義できます。
たとえばvifmでは、~/.vifm/vifmrc
で次のように関連付けを定義できます。
" Images
filetype *.jpg,*.jpeg,*.gif,*.tif,*.png,*.bmp sxiv
" Media
filetype *.flv,*.avi,*.mp4,*.mpeg,*.mpg,*.mov,*.ogg,*.ogv,*.mkv mpv
" Web
filetype *.html,*.htm,*.shtml /home/jason/Scripts/vimprobtab.sh
" PDF
filetype *.pdf apvlv
ヒッティング Enter 一方、定義されたアクションの1つを含むファイル上のカーソルには、関連するアプリケーションによって開かれたファイルが表示されます。 .html
ファイルの場合に見られるように、スクリプトだけでなくアプリケーションもトリガーできます。
使用しているUnixの種類によって異なると思います。 OS Xでは、open
コマンドを使用できます。
OPEN(1) BSD General Commands Manual OPEN(1)
NAME
open -- open files and directories
SYNOPSIS
open [-e] [-t] [-f] [-F] [-W] [-R] [-n] [-g] [-h] [-b bundle_identifier]
[-a application] file ... [--args arg1 ...]
DESCRIPTION
The open command opens a file (or a directory or URL), just as if you had
double-clicked the file's icon. If no application name is specified, the
default application as determined via LaunchServices is used to open the
specified files.
If the file is in the form of a URL, the file will be opened as a URL.
...