Tidak juga
xdg-open some_file
maupun
$EDITOR some_file
sangat mudah, kecuali jika Anda mendefinisikan "default" sebagai apa pun yang mereka panggil, yang bukan arti yang biasa digunakan.
Sebagai contoh, pada sistem xenial saya:
Saya tidak memiliki variabel global EDITOR yang ditentukan:
$ env | grep EDITOR
$ echo $EDITOR
$
Jadi $EDITOR some_file
gagal sepenuhnya di lingkungan gui (x & openbox, lxterminal), atau dalam tty.
Dalam lingkungan gui, xdg-open some_file
buka file di vi. Dalam tty polos, itu mencoba untuk melakukan hal yang sama, tetapi gagal. Tapi vi bukan editor "default" saya dalam arti kata yang paling umum digunakan. Semua manajer file yang telah saya instal setuju bahwa editor default saya adalah ed
(tidak, bukan ITU ed
- jika saya masokis yang akan saya gunakan vi
, saya ed
adalah skrip yang saya tulis).
Mungkin ada justifikasi untuk mendefinisikan "default" dalam hal satu atau yang lain dari perintah-perintah itu, tetapi dalam penggunaan umum sebagian besar pengguna, "default" adalah kata sifat yang diterapkan pada program apa pun yang membuka file ketika Anda menggandakan atau klik sekali saja di browser file gui (seperti Nautilus, Pcmanfm, Thunar, dll.), (ganda atau tunggal tergantung pada pengaturan di browser file PARTICULAR itu). Atau, secara bergantian, program apa pun yang membuka file ketika Anda menyorotnya dan tekan enter di browser file ortodoks seperti Midnight Commander.
Jadi, dalam penggunaan "default" yang paling umum, Anda dapat memiliki default yang berbeda untuk setiap browser file, dan ketika Anda berbicara tentang default tanpa kualifikasi itu berarti apa pun yang default di browser file default. Dan browser file default dalam lingkungan grafis akan menjadi yang terbuka jika Anda mengklik dua kali pada direktori (alias "folder") atau symlink ke direktori di desktop, atau jika Anda tidak menggunakan metafora desktop, mungkin yang paling banyak ditampilkan dalam menu. Sejauh yang saya tahu, dalam hal ini, yang merupakan penggunaan dunia nyata yang normal, jawaban Sumeet Deshmukh benar-benar benar dan sepenuhnya lengkap. Mungkin dalam pengertian yang lebih abstrak juga.
Dalam lingkungan non-grafis, di luar manajer file ortodoks, akal sehat dari kata "default", diterapkan pada editor, tidak memiliki aplikasi normal. Tidak ada yang bekerja di tty meminta editor dengan xdg-open some_file
atau $EDITOR some_file
kecuali mereka bekerja pada mesin orang lain, tidak ingin menginstal apa pun, dan sudah putus asa. Mereka membuka editor dengan secara langsung memanggil editor yang ingin mereka buka, OLEH NAMA. Jika mereka mendapatkan bash: gedit: command not found
mereka mencoba favorit kedua mereka, dll. Apa defaultnya, tidak relevan. Yang penting adalah preferensi mereka dan apa yang diinstal atau dapat diinstal.
Poin utama:
. . . gksu gedit /path/file.txt yang tidak akan berfungsi karena gedit bukan editor teks default. . . .
Salah. Dan itu sebabnya saya memposting, untuk menjelaskan mengapa pernyataan itu salah dan mengapa perintah itu gagal. Apa editor default itu, bagaimanapun Anda mendefinisikannya, tidak relevan.
Agar perintah itu berfungsi, Anda perlu 2 hal:
Kedua program, gksu
dan gedit
, harus diinstal pada sistem.
Anda harus memiliki izin yang sesuai untuk file dan direktori leluhurnya. Anda harus memiliki x pada semua direktori di path, setidaknya r pada file itu sendiri, dan mungkin setidaknya r pada direktori induk. Beberapa editor mungkin memerlukan w pada file atau bahkan pada direktori induk, meskipun seharusnya tidak.
Anda harus bisa memberi tahu mengapa perintah gagal dengan membaca pesan kesalahan. Jika Anda suka gedit, instal.
Tapi gksu berbahaya. Gunakan gksudo jika Anda membutuhkannya. Tetapi jangan gunakan salah satu dari perintah jenis su / sudo / gksu / gksudo / pkexec kecuali jika perintah yang berikut gagal tanpa itu. Dan bahkan kemudian, hanya jika itu HARUS gagal. Jika seharusnya berhasil, menggunakan beberapa perintah sudo-ish untuk MEMBUAT itu berfungsi seperti "Jika tidak cocok, dapatkan palu yang lebih besar". Ini akan menciptakan lebih banyak masalah di jalan. Dalam hal itu, perbaiki izinnya, dan cobalah untuk mencari tahu mengapa itu salah.
Jenis perintah sudo juga tidak mahakuasa. Terkadang, Anda HARUS mengubah izin sebelum dapat mengedit file bahkan DENGAN gksudo.
Mengenai bahaya gksu
mendengarkan Paddy yang mengomentari jawaban Sumeet. Dia adalah orang bijak yang telah ada beberapa saat. Mengulang 3 tautannya:
https://askubuntu.com/a/288506/2088
https://bugs.launchpad.net/ubuntu/+source/gksu/+bug/1186676
http://ubuntuforums.org/showthread.php?t=1819589