Texte sublime ne figurant pas dans le menu «Ouvrir avec» de Nautilus

57

Je suis sous Ubuntu 15.10.

Mon /usr/share/applications/sublime_text.desktopcontient les éléments suivants:

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

Lorsque je clique avec le bouton droit de la souris sur un fichier de démarques ( xxx.md) dans Gnome Files (anciennement "Nautilus"), je ne peux pas voir "Texte sublime" comme choix, même lorsque je sélectionne "Afficher toutes les applications".

J'ai même essayé d' ajouter %Faux lignes Exec=/opt/sublime_text/sublime_text -net Exec=/opt/sublime_text/sublime_text --command new_fileau [Desktop Action Window]et [Desktop Action Document], respectivement, mais cela n'a rien changé.

J'ai même couru sudo update-desktop-database.

Qu'est-ce que je fais mal?

Ralph
la source
Quelle version de Sublime utilisez-vous et comment l'avez-vous installé? Avez-vous ajouté /usr/share/applications/defaults.listet remplacé toutes les gedit.desktopentrées?
MattDMo
J'utilise Sublime Text v3 (build 3103) pour x64 installé à partir d'un fichier .deb. Je ne l' ai pas modifier soit defaults.listou gedit.desktop. Que doivent contenir ces fichiers?
Ralph
1
Markdown n'a pas le type MIME text/plain, qui est le seul enregistré dans ce fichier de bureau.
David Foerster

Réponses:

124

Copier le contenu de /usr/share/applications/sublime_text.desktopà~/.local/share/applications/sublime_text.desktop

Ou simplement utiliser:

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

Puis dans le type de terminal: sudo update-desktop-database

agustaf
la source
6
Excellente solution. Ce serait bien si vous donniez également l'explication de la raison pour laquelle cela fonctionne.
padawanTony
1
@padawanTony Il existe un cache pour les types de fichiers (types MIME) dans Ubuntu et chaque type MIME a des applications associées. La copie du fichier est copiée sur un sublime_text.desktopfichier correct pouvant être associé à des fichiers texte (contient la ligne MimeType=text/plain;que le fichier par défaut du dossier local ne contient pas). Ensuite, l'exécution de la commande sudo mettra à jour le cache MIME (lu dans le fichier .desktop mis à jour) et la relation apparaîtra dans le menu contextuel. Je ne peux malheureusement pas dire pourquoi nous avons un fichier .desktop bogué sous .local en premier lieu.
MF.OX
La suppression de l'entrée sublime_text.desktop du dossier local fonctionnerait-elle également? Est-ce que le système d’exploitation en fait habituellement une nouvelle copie?
minitauros
@ agustaf, j'utilise Ubuntu 16.04 mais le /.local/dossier n'est pas localisé pourriez-vous s'il vous plaît aider
SagarPPanchal
@ SagarPPanchal Vous pouvez essayer de le créer avec mkdir -p ~/.local/share/applicationset voir si la copie du fichier continue de fonctionner. Si cela ne fonctionne pas, vous pouvez poster une nouvelle question.
Août
7

J'ai essayé toutes les options mentionnées dans d'autres réponses. Mais, d’une certaine manière, cela ne m’a pas aidé (j’utilise Ubuntu 16.04 et j’ai installé Sublime-text_build-3126_amd64).

Je constate que ce problème ne survient dans mon système que lorsque j'installe Sublime Editor à l'aide du package (sublime-text_build-3126_amd64.deb) téléchargé à partir du site. Cependant, l’ installation de Sublime à partir d’un terminal résout ce problème.

Je n'ai pas encore compris techniquement pourquoi il y a une différence dans le comportement de l'application entre ses 2 modes d'installation. Cependant, comme cela fonctionne pour moi, je le partage ici pour que cela puisse être utile aux autres. L'alternative de travail est:

  1. Désinstallez le package sublime existant. Utilisez Synaptic Pkg Mgr et effectuez une suppression complète.
  2. Installez sublime en utilisant les commandes:

    Pour Sublime-Text-2:

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

    Pour Sublime-Text-3:

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

    Entrez la sublcommande pour commencer instantanément.

  3. Cliquez avec le bouton droit sur le fichier que vous souhaitez ouvrir dans l'éditeur Sublime. Maintenant, vous pouvez trouver l’application "Texte sublime" dans le menu. En outre, vous pouvez définir l'éditeur par défaut pour le type de fichier en le définissant dans les propriétés du fichier.

Merci!:)

umash07
la source
7

Si un ancien cache fait quelque chose de mal, supprimez-le simplement et laissez un système en créer un nouveau pour vous.

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

Ça marche pour moi.

Naofumi
la source
2

Ne le faites que si vous avez installé du texte sublime en utilisant 'Ubuntu Make' (umake) . Ubuntu Make (umake) facilite l'installation et la mise à jour des outils de développement. Tapez ceci dans le terminal.

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

Le contenu du fichier sublime-text.desktop sera affiché. Notez la ligne suivante dans le fichier:

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

Vous devez changer cette ligne. Type:

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

L'éditeur de texte nano est ouvert, modifiez cette ligne pour

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

Assurez-vous de taper F majuscule et non petite. Appuyez sur 'Ctrl + O'. Appuyez sur Entrée'. Appuyez sur 'Ctrl + X'. Type:

sudo update-desktop-database

Problème résolu :) sinon, redémarrez le système. Remarque: le nano est très bon pour l'édition, essayez-le (essayez)

abyt23
la source
0

Ouvrez /usr/share/applications/defaults.list(un lien symbolique /etc/gnome/defaults.listsur mon système) dans Sublime et remplacez toutes les instances de gedit.desktopavec sublime_text.desktop. Enregistrez le fichier et redémarrez votre ordinateur. Cela peut suffire à vous déconnecter puis à vous reconnecter, mais je suppose que vous devez quitter Gnome complètement pour que les paramètres soient rechargés. Une fois que vous êtes connecté (e), Sublime Text doit figurer dans le menu contextuel comme choix par défaut pour les fichiers Markdown. Il doit également figurer dans le menu "Ouvrir avec" pour tous les types de fichiers pouvant être ouverts dans un fichier. éditeur de texte.

MODIFIER:

Voici le contenu de mon courant /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
la source
Toujours pas de joie. Il doit y avoir quelque chose de drôle dans mon installation de Sublime Text. J'ai comparé le .desktopfichier avec celui-ci Atom, et il n'y a pas de différence substantielle, mais Atomapparaît dans la open withliste.
Ralph
@Ralph très étrange. Je viens de modifier ma réponse avec le contenu actuel de mon document sublime_text.desktop, et il a exactement le même aspect que celui de votre question. Ma suggestion suivante serait de désinstaller complètement Sublime (vous pouvez le laisser ~/.config/sublime-text-3) et de le réinstaller tout frais. Vérifiez à /usr/share/applications/defaults.listnouveau pour vous assurer que toutes les entrées gedit(et peut-être atomaussi?) Ont été remplacées par sublime_text, puis redémarrez et essayez à nouveau.
MattDMo