Hervorragender Text, der im Nautilus-Menü „Öffnen mit“ nicht angezeigt wird

57

Ich verwende Ubuntu 15.10.

Meine /usr/share/applications/sublime_text.desktopenthält Folgendes:

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;

Wenn ich xxx.mdin Gnome Files (ehemals "Nautilus") mit der rechten Maustaste auf eine Markdown-Datei ( ) klicke, wird "Erhabener Text" nicht als Auswahl angezeigt, selbst wenn ich "Alle Anwendungen anzeigen" auswähle.

Ich habe sogar versucht %F, die Zeilen Exec=/opt/sublime_text/sublime_text -nund Exec=/opt/sublime_text/sublime_text --command new_filein [Desktop Action Window]bzw. zu [Desktop Action Document]ergänzen, aber es hat sich nichts geändert.

Ich bin sogar gerannt sudo update-desktop-database.

Was mache ich falsch?

Ralph
quelle
Welche Version von Sublime verwenden Sie und wie haben Sie sie installiert? Haben Sie es hinzugefügt /usr/share/applications/defaults.listund alle gedit.desktopEinträge ersetzt?
MattDMo
Ich führe Sublime Text v3 (Build 3103) für x64 aus, das aus einer .deb-Datei installiert wurde. Ich habe weder editiert defaults.listnoch gedit.desktop. Was sollten diese Dateien enthalten?
Ralph
1
Markdown hat nicht den MIME-Typ text/plain, der als einziger in dieser Desktop-Datei registriert ist.
David Foerster

Antworten:

124

Kopieren Sie den Inhalt von /usr/share/applications/sublime_text.desktopnach~/.local/share/applications/sublime_text.desktop

Oder verwenden Sie einfach:

cp -it ~/.local/share/applications /usr/share/applications/sublime_text.desktop

Dann im Terminaltyp: sudo update-desktop-database

agustaf
quelle
6
Großartige Lösung. Es wäre schön, wenn Sie uns auch erklären würden, warum dies funktioniert.
Padawantony
1
@padawanTony In Ubuntu gibt es einen Cache für Dateitypen (MIME-Typen), und jeder MIME-Typ hat verwandte Anwendungen. Das Kopieren der Datei kopiert über die richtige sublime_text.desktopDatei, die sich auf Textdateien beziehen kann (enthält eine Zeile, MimeType=text/plain;die die Standarddatei im lokalen Ordner nicht enthält). Wenn Sie dann den Befehl sudo ausführen, wird der MIME-Cache aktualisiert (die aktualisierte .desktop-Datei wird eingelesen), und die Beziehung wird im Kontextmenü angezeigt. Ich kann leider nicht sagen, warum wir überhaupt eine fehlerhafte .desktop-Datei unter .local haben.
MF.OX
Würde es dann auch funktionieren, einfach den Eintrag sublime_text.desktop aus dem lokalen Ordner zu löschen? Würde das Betriebssystem normalerweise eine neue Kopie davon erstellen?
Minitauros
@agustaf, ich bin mit Ubuntu 16.04 aber /.local/Ordner nicht befindet könnten Sie bitte helfen
SagarPPanchal
@SagarPPanchal Sie können versuchen, es mit zu erstellen, mkdir -p ~/.local/share/applicationsund prüfen, ob das Kopieren der Datei weiterhin funktioniert. Wenn das nicht funktioniert, können Sie eine neue Frage stellen.
August
7

Ich habe alle Optionen ausprobiert, wie in anderen Antworten erwähnt. Aber irgendwie hat es mir nicht geholfen (ich benutze Ubuntu 16.04 und habe Sublime-text_build-3126_amd64 installiert).

Dieses Problem tritt auf meinem System nur auf, wenn ich den Sublime-Editor mithilfe des Pakets (sublime-text_build-3126_amd64.deb) installiere, das von der Site heruntergeladen wurde. Durch die Installation von Sublime vom Terminal aus wird dieses Problem jedoch behoben.

Ich muss noch technisch herausfinden, warum es einen Unterschied im Anwendungsverhalten zwischen den beiden Installationsmodi gibt. Da dies jedoch bei mir funktioniert, teile ich es hier, damit es für andere hilfreich ist. Die funktionierende Alternative ist:

  1. Deinstallieren Sie das vorhandene überragende Paket. Verwenden Sie Synaptic Pkg Mgr und führen Sie eine vollständige Entfernung durch.
  2. Installiere sublime mit den Befehlen:

    Für Sublime-Text-2:

    sudo add-apt-repository ppa:webupd8team/sublime-text-2
    sudo apt-get update
    sudo apt-get install sublime-text
    

    Für Sublime-Text-3:

    sudo add-apt-repository ppa:webupd8team/sublime-text-3
    sudo apt-get update
    sudo apt-get install sublime-text-installer
    

    sublBefehl eingeben , um sofort zu beginnen.

  3. Klicken Sie mit der rechten Maustaste auf die Datei, die Sie im Sublime-Editor öffnen möchten. Jetzt finden Sie die Anwendung "Erhabener Text" im Menü aufgelistet. Sie können den Editor auch als Standard für den Dateityp festlegen, indem Sie ihn in den Eigenschaften der Datei festlegen.

Vielen Dank!:)

umash07
quelle
7

Wenn ein alter Cache etwas falsch macht, löschen Sie ihn einfach und lassen Sie ein System einen neuen für Sie erstellen.

rm ~/.local/share/applications/sublime_text.desktop

Für mich geht das.

Naofumi
quelle
2

Tun Sie dies nur, wenn Sie sublimen Text mit 'Ubuntu Make' (umake) installiert haben . Ubuntu Make (umake) erleichtert die Installation und Aktualisierung von Entwicklertools. Geben Sie dies im Terminal ein.

cat ~/.local/share/applications/sublime-text.desktop

Der Inhalt der Datei sublime-text.desktop wird angezeigt. Beachten Sie die folgende Zeile in der Datei:

Exec=/home/ja9/.local/share/umake/ide/sublime-text/sublime_text

Sie müssen diese Zeile ändern. Art:

sudo nano ~/.local/share/applications/sublime-text.desktop

Der Nano-Texteditor wird geöffnet. Bearbeiten Sie diese Zeile in

Exec="/home/ja9/.local/share/umake/ide/sublime-text/sublime_text" %F

Stellen Sie sicher, dass Sie Großbuchstaben F , nicht klein, eingegeben haben . Drücken Sie 'Strg + O'. Drücken Sie Enter'. Drücken Sie 'Strg + X'. Art:

sudo update-desktop-database

Problem gelöst :), wenn nicht, System neu starten. Hinweis: Nano ist sehr gut für die Bearbeitung, probieren Sie es aus (Versuche)

abyt23
quelle
0

Öffnen Sie in Sublime /usr/share/applications/defaults.list(ein Symlink zu /etc/gnome/defaults.listmeinem System) und ersetzen Sie alle Instanzen von gedit.desktopmit sublime_text.desktop. Speichern Sie die Datei und starten Sie Ihren Computer neu. Möglicherweise reicht es aus, sich aus- und wieder einzuloggen, aber ich vermute, Sie müssen Gnome vollständig beenden, damit die Einstellungen neu geladen werden. Sobald Sie sich wieder angemeldet haben, sollte Sublime Text im Kontextmenü als Standardauswahl für Markdown-Dateien und im Menü "Öffnen mit" für alle Dateitypen aufgeführt sein, die in einer geöffnet werden können Texteditor.

BEARBEITEN:

Hier sind die Inhalte meiner aktuellen /usr/share/applications/sublime_text.desktop:

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;
MattDMo
quelle
Immer noch keine Freude. An meiner Installation von Sublime Text muss etwas Komisches sein. Ich habe die .desktopDatei mit der verglichen Atom, und es gibt keinen wesentlichen Unterschied, sondern Atomerscheint in der open withListe.
Ralph
@ Ralph sehr seltsam. Ich habe gerade meine Antwort mit dem aktuellen Inhalt von bearbeitet sublime_text.desktop, und sie sieht genauso aus wie die in Ihrer Frage. Mein nächster Vorschlag wäre, Sublime vollständig zu deinstallieren (Sie können es verlassen ~/.config/sublime-text-3) und neu zu installieren. Überprüfen Sie /usr/share/applications/defaults.listerneut, ob alle gedit(und möglicherweise atomauch?) Einträge durch ersetzt wurden sublime_text, starten Sie den Computer neu und versuchen Sie es erneut.
MattDMo