Bagaimana cara mengubah terminal default untuk menjalankan file .desktop?
Saya telah mencoba menjalankan vim dengan alacritty sebagai default. Saya memiliki alacritty set sebagai default emulator terminal saya sudah, dan di vim.desktop saya berubah exec=vim %Fdengan exec=alacritty -e vim %F. Masalahnya adalah ketika saya membuka file, pertama kali menjalankan perintah di terminal gnome dan kemudian meluncurkan vim secara diam-diam, masalahnya adalah terminal gnome tetap terbuka. Saya juga mencoba membuat skrip:
#!/bin/bash
alacritty -e vim & disown | exit
ini tidak bekerja sama sekali. Saya tidak tahu harus berbuat apa lagi dan saya tidak dapat menemukan apa pun secara online. Terima kasih sebelumnya!
Apakah mungkin untuk mengubah terminal default yang menjalankan Exec=perintah? Sehingga hanya dengan menulis Exec=vim %Fakan menjalankannya dengan sigap
Jawaban
muru membantu saya mengklarifikasi apa yang sedang terjadi, terima kasih! Masalahnya adalah file .desktop saya:
[Desktop Entry]
Name=Vim
GenericName=Text Editor
Comment=Edit text files
Comment[es]=Edita archivos de texto
TryExec=vim
Exec=alacritty -e vim %F
Terminal=true
Type=Application
Keywords=Text;editor;
Icon=gvim
Categories=Utility;TextEditor;
StartupNotify=false
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Berargumen Terminal=true. Apa yang dilakukannya adalah menjalankan Exec=perintah di terminal, membuka terminal untuk melakukannya. Jika Anda mengatur Terminal=falseini akan mencegah terminal apa pun dari membuka dan itu hanya akan menjalankan perintah tanpa membuka terminal.
Sunting: ini kadang-kadang tidak berfungsi, saya tidak tahu apa yang mengontrol emulator terminal apa yang digunakan ketika Anda membuka vim.
Saya baru saja menemukan solusi lain untuk masalah ini: buat symlink yang dinamai xtermdi $PATHemulator terminal Anda sendiri. Saya tidak dapat menjamin ini berhasil untuk semua orang.
Keuntungan dari solusi ini adalah Anda tidak perlu mengubah file entri desktop apa pun. Semua .desktop dengan Terminal=trueakan menggunakan emulator terminal baru.
Saat mencoba menjalankan entri desktop dengan exo-open(mirip dengan xdg-open, dari xfce), ada pesan peringatan
sh: line 0: exec: xterm: not found
Jadi saya rasa program xtermini di-hardcode untuk membuka file .desktop. Kemudian saya mencoba membuat symlink ini
ln -s /usr/bin/st ~/.local/bin/xterm
dan itu bekerja dengan sempurna.
Namun perintah sebenarnya yang muncul mungkin didasarkan pada xtermargumen, jadi hanya emulator terminal yang menggunakan argumen yang sama untuk menentukan perintah start-up yang berfungsi. Salah satu contoh counter adalah termite, karena membutuhkan seluruh perintah yang akan dikutip dalam -eopsi.