.Desktop dosyalarını yürütmek için varsayılan terminali nasıl değiştiririm?

May 11 2020

Varsayılan olarak alacritty ile vim'i yürütmeye çalışıyorum. Varsayılan terminal öykünücüm olarak zaten alacritty ayarladım ve vim.desktop'umda exec=vim %File değiştirdim exec=alacritty -e vim %F. Sorun şu ki, bir dosyayı açtığımda, önce komutu gnome terminalinde çalıştırıyor ve sonra vim'i alacritty'de başlatıyor, mesele şu ki, gnome terminali açık kalıyor. Ayrıca bir komut dosyası oluşturmayı da denedim:

#!/bin/bash
alacritty -e vim & disown | exit

bu hiç çalışmıyor. Başka ne yapacağımı bilmiyorum ve internette hiçbir şey bulamıyorum. Şimdiden teşekkürler!

Exec=Komutu çalıştıran varsayılan terminali değiştirmek mümkün müdür ? böylece sadece yazarak Exec=vim %Fonu alacritty'de çalıştıracak

Yanıtlar

4 Wonky May 11 2020 at 14:05

muru neler olup bittiğini açıklamama yardımcı oldu, teşekkür ederim! Sorun şu ki benim .desktop dosyam:

[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++;

Tartışma vardı Terminal=true. Bunun yaptığı şey, Exec=komutu bir terminalde yürütmek ve bunu yapmak için bir terminal açmaktır. Bunu ayarlarsanız Terminal=false, herhangi bir terminalin açılmasını önleyecek ve sadece terminali açmadan komutu yürütecektir.

OliverLew Jun 29 2020 at 16:31

Düzenleme: Bu bazen işe yaramıyor, vim'i açtığınızda hangi terminal öykünücüsünün kullanıldığını neyin kontrol ettiğini bilmiyorum.

Sadece bu sorun için başka işi-etrafında bulunan: adında bir sembolik oluşturmak xtermGözlerinde farklı $PATHkendi terminal emülatörü için. Bunun herkes için işe yarayacağını garanti edemem.

Bu geçici çözümün avantajı, herhangi bir masaüstü giriş dosyasını değiştirmenize gerek olmamasıdır. Tüm .desktop Terminal=true, yeni terminal öykünücüsünü kullanır.


exo-open( xdg-openXfce'ye benzer) ile bir masaüstü girişi yürütmeye çalışırken , bir uyarı mesajı var

sh: line 0: exec: xterm: not found

Bu yüzden sanırım xtermprogramda .desktop dosyalarını açmak için kodlanmış. Sonra bu sembolik bağı yapmaya çalıştım

ln -s /usr/bin/st ~/.local/bin/xterm

ve mükemmel çalışıyor.

Ancak ortaya çıkan gerçek komut muhtemelen xterm'ın argümanlarına dayanmaktadır , bu nedenle yalnızca başlatma komutunu belirtmek için aynı argümanı kullanan uçbirim öykünücüleri çalışır. Bir sayaç örneği, termitetüm komutun -eseçenekte alıntılanmasını gerektirdiğinden .