Das ist etwas spät, aber ich dachte, es könnte jemandem helfen.
Mein Problem ist, dass ich nicht gerne Dinge kopiere und einfüge, die ich nicht verstehe. Deshalb hier eine Erklärung der bisherigen Antworten.
In erster Linie gibt es hier zwei Probleme, und beide Antworten sind für sich genommen richtig:
- der Standard-Kommandozeilen-Editor - gelöst von 'izx'
- die Zuordnung des Dateityps (MIME-Typ) in der Desktopsitzung für GUI-Anwendungen - gelöst von 'Steve'.
Hier im Detail:
Kommandozeilenlösung -from 'izx'
- Fügt geany (eine GUI-Anwendung) zur Liste der alternativen Editoren hinzu und legt sie als Standard fest.
- Ich habe immer gedacht, dass der Editor normalerweise für textbasierte Editoren wie vi, vim, nano usw. reserviert ist, aber ich habe es gerade überprüft, und das scheint auch zu funktionieren.
- Das Ergebnis bedeutet, dass Sie die von Ihnen gewählte Standardeinstellung verwenden können, um die Datei zu öffnen, wenn zum Beispiel:
MIME-Lösung - von 'Steve'
Auf Dateiebene gibt es zwei wichtige Listen:
/usr/share/applications/defaults.list
- die Systemstandardliste.
~/.local/share/applications/mimeapps.list
- Die Standardliste der persönlichen Desktopsitzungen des Benutzers
Was macht der Befehl?
Aus der Manpage xdg-mime (man xdg-mime)
xdg-mime - command line tool for querying information about file type handling and adding descriptions for new file type
Der xdg-mime default...
Befehl fügt der persönlichen Liste des Benutzers Einträge hinzu.
Lassen Sie uns den Befehl abbrechen.
Befehl:
xdg-mime default geany.desktop $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
Der Befehl kann gelesen werden als:
Legen Sie geany.desktop als Standardanwendung für den MIME-Typ fest, der von ausgegeben wird
$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
Anschauen
$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')
- Nimmt alle MIME-Typen aus der Datei geany.desktop
- entfernt das "MimeType ="
- ersetzt ";" mit ""
- geben uns:
text/plain text/x-chdr text/x-csrc text/x-c++hdr text/x-c++src text/x-java text/x-dsrc text/x-pascal text/x-perl text/x-python application/x-php application/x-httpd-php3 application/x-httpd-php4 application/x-httpd-php5 application/xml text/html text/css text/x-sql text/x-diff
Wenn wir uns die persönliche Datei des Benutzers ansehen, nachdem wir den Befehl ausgeführt haben, sehen wir alle Dateizuordnungen, die für die Anwendung geany.desktop festgelegt wurden:
[Default Applications]
x-scheme-handler/mailto=userapp-Thunderbird-ZP00XW.desktop
message/rfc822=userapp-Thunderbird-ZP00XW.desktop
application/x-extension-eml=userapp-Thunderbird-ZP00XW.desktop
application/x-perl=sublime_text.desktop
text/plain=geany.desktop
text/x-chdr=geany.desktop
text/x-csrc=geany.desktop
text/x-dtd=sublime_text.desktop
text/x-java=geany.desktop
text/mathml=sublime_text.desktop
text/x-python=geany.desktop
text/x-sql=geany.desktop
text/x-c++hdr=geany.desktop
text/x-c++src=geany.desktop
text/x-dsrc=geany.desktop
text/x-pascal=geany.desktop
text/x-perl=geany.desktop
application/x-php=geany.desktop
application/x-httpd-php3=geany.desktop
application/x-httpd-php4=geany.desktop
application/x-httpd-php5=geany.desktop
application/xml=geany.desktop
text/html=geany.desktop
text/css=geany.desktop
text/x-diff=geany.desktop
In diesem Wissen ist hier mein spezielles Problem und wie ich es gelöst habe.
Problem:
Ich wollte die Standardanwendung zum Öffnen von Dateien in Nautilus von "gedit" -> "sublime text" ändern.
Lösung:
Finden Sie die Systemstandards für gedit mit:
$less /usr/share/applications/defaults.list | grep gedit
application/x-perl=gedit.desktop
text/plain=gedit.desktop
text/x-chdr=gedit.desktop
text/x-csrc=gedit.desktop
text/x-dtd=gedit.desktop
text/x-java=gedit.desktop
text/mathml=gedit.desktop
text/x-python=gedit.desktop
text/x-sql=gedit.desktop
Ersetzen Sie "gedit" durch "sublime_text" und fügen Sie die Einträge dem Abschnitt "Default Applications" meiner persönlichen defaults.list hinzu
application/x-perl=sublime_text.desktop
text/plain=sublime_text.desktop
text/x-chdr=sublime_text.desktop
text/x-csrc=sublime_text.desktop
text/x-dtd=sublime_text.desktop
text/x-java=sublime_text.desktop
text/mathml=sublime_text.desktop
text/x-python=sublime_text.desktop
text/x-sql=sublime_text.desktop