Apakah ada perintah "terbuka dengan" untuk baris perintah?


24

Apakah baris perintah memiliki cara untuk mendapatkan daftar program yang direkomendasikan yang digunakan untuk membuka file tertentu, berdasarkan jenis file? Misalnya, .pdffile akan memiliki open with...rekomendasi menggunakan program Evincedan Document Viewer.

Saya menggunakan baris perintah untuk sebagian besar hal, tetapi kadang-kadang saya lupa nama program yang ingin saya gunakan untuk membuka jenis file tertentu.

BTW saya menggunakan Ubuntu 13.10.

pro-tip

Berkat jawaban @slm yang dipilih di bawah, saya membuat skrip bash berikut dalam sebuah file bernama openwith.sh:

xdg-mime query default $(xdg-mime query filetype $1)

Tambahkan sebagai alias atau jalankan langsung sebagai openwithperintah.


1
Anda bisa mencobanya gnome-open file. Saya telah menambahkan untuk kesederhanaan alias o='gnome-open'saya .bashrc.
Pål GD

gnome-openbekerja mirip dengan xdg-open.
slm

Rupanya begitu gvfs-open. Pertanyaan Apa yang bisa saya gunakan alih-alih gnome-open? dari ask ubuntu .
Pål GD

Jawaban:


33

Tidak ada perintah yang pernah saya lihat yang akan bertindak sebagai "terbuka dengan ..." tetapi Anda dapat menggunakan perintah xdg-open <file>untuk membuka yang diberikan <file>dalam aplikasi yang dikaitkan dengan jenis file tertentu.

Contohnya

Membuka file teks:

$ xdg-open tstfile.txt
$

Menghasilkan file tstfile.txtyang dibuka di gedit:

                         ss dari gedit

Membuka dokumen LibreOffice Writer:

$ xdg-open tstfile.odt 
$

Menghasilkan file tstfile.odtyang dibuka di Writer:

                         ss penulis

Aplikasi apa yang digunakan?

Anda dapat menggunakan xdg-mimekueri sistem untuk mencari tahu aplikasi apa yang terkait dengan jenis file yang diberikan.

$ 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

Ini adalah operasi 2 langkah. Pertama, saya mencari tipe pantomim dari file yang diberikan xdg-mime query filetype tstfile.txt, yang akan kembali text/plain. Ini kemudian digunakan untuk melakukan pencarian lain untuk mengetahui daftar aplikasi yang terkait dengan tipe mime ini. Seperti yang Anda lihat di atas, saya memiliki 2 aplikasi yang terkait, geditdan calibre, untuk .txtfile.

Anda dapat menggunakan xdg-mimeuntuk mengubah asosiasi juga. Lihat man xdg-mimeuntuk lebih jelasnya.


Apakah ada cara untuk menampilkan jenis program lain selain yang standar? Misalnya, saya baru saja menginstal okularuntuk melihat PDF, tetapi contoh Anda di atas hanya menunjukkan evinceketika saya menjalankannya pada file .pdf.
modulitos

1
@Lucas - ya contoh yang saya tunjukkan menunjukkan aplikasi yang terkait dengan jenis file yang diberikan di atas. Misalnya file jenis .txtdikaitkan dengan gedit dan kaliber misalnya.
slm

Apakah saya perlu memiliki .desktopfile untuk program yang ingin saya daftarkan? Misalnya, ketika saya menjalankan skrip pada .pdffile, ia kembali evince.desktop, meskipun saya juga bisa menjalankannya okular.
modulitos

@Lucas - ini mungkin yang terbaik ditanyakan sebagai Q baru, karena kita berjauhan dari Q yang asli sekarang.
slm

5

Jika Anda sebagian besar bekerja pada baris perintah, Anda bisa melihat file manager berbasis kutukan, seperti ranger atau vifm . Keduanya memungkinkan Anda untuk menentukan tindakan default untuk tipe file.

Dalam vifm, misalnya, ~/.vifm/vifmrcAnda dapat mendefinisikan asosiasi seperti:

" 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

Menekan Enterkursor pada file apa pun dengan salah satu tindakan yang ditentukan akan melihatnya dibuka oleh aplikasi yang relevan. Seperti yang Anda lihat dalam kasus .htmlfile, Anda dapat memicu skrip serta aplikasi.


5

Agak, tetapi itu akan mengubah aplikasi default Anda sebagai hasilnya. Saya tidak yakin apa sistem operasi lain ini bekerja, tetapi petunjuk di bawah ini berfungsi untuk Ubuntu 12.04 - Desktop X86-64. Saya tidak punya file pdf yang berguna jadi saya diuji dengan arsip .zip.

Langkah Umum

Langkah 1

Dalam jenis terminal:

$ mimeopen -d /home/username/example.zip
tangkapan layar # 1 = https://copy.com/qfWSZaZ4FzlA

    ss # 1

Langkah 2

Pilih dari daftar dengan memasukkan #aplikasi yang Anda inginkan, dan menekan enter. File akan segera terbuka di aplikasi yang Anda pilih.

tangkapan layar # 2 = https://copy.com/um6Rf7zRdceT

    ss # 2

tangkapan layar # 3 = https://copy.com/ytwKCqR6nv8i

    ss # 3

Catatan

Catatan 1

Ini mengubah aplikasi default ke yang Anda pilih, dan setiap kali Anda membuka jenis file itu sekarang akan terbuka di aplikasi apa pun yang terakhir Anda pilih dari daftar.


Apakah Anda bermaksud memasukkan tanda pagar (#) di URL untuk tangkapan layar 3?
trysis

@trysis Saya baru saja menggunakannya untuk melewati batas maks 2 url.
tolong hapus saya

Oh, masuk akal. Meski begitu, masih terlihat aneh.
trysis

Saya membersihkan Anda A dan menambahkan URL ke-3 untuk Anda.
slm

2

Tergantung pada rasa Unix yang Anda gunakan, saya kira. Di OS X, Anda dapat menggunakan openperintah:

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.

...

Juga, openperintah pertama kali muncul di NextStep dan diwarisi oleh OS X, sehingga mungkin tersedia dalam beberapa bentuk pada platform berbasis OpenStep lainnya (misalnya AfterStep, LiteStep).
Ionoclast Brigham
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.