El texto sublime no se muestra en el menú "abrir con" de Nautilus

57

Estoy ejecutando Ubuntu 15.10.

Mi /usr/share/applications/sublime_text.desktopcontiene lo siguiente:

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

Cuando hago clic derecho en un archivo de reducción ( xxx.md) en Gnome Files (anteriormente "Nautilus"), no puedo ver "Sublime Text" como una opción, incluso cuando selecciono "Ver todas las aplicaciones".

Incluso intenté agregar %Fa las líneas Exec=/opt/sublime_text/sublime_text -ny Exec=/opt/sublime_text/sublime_text --command new_fileen [Desktop Action Window]y [Desktop Action Document], respectivamente, pero no cambió nada.

Incluso corrí sudo update-desktop-database.

¿Qué estoy haciendo mal?

Ralph
fuente
¿Qué versión de Sublime está ejecutando y cómo la instaló? ¿Lo ha agregado /usr/share/applications/defaults.listy reemplazado todas las gedit.desktopentradas?
MattDMo
Estoy ejecutando Sublime Text v3 (build 3103) para x64 instalado desde un archivo .deb. Yo tampoco edité defaults.listo gedit.desktop. ¿Qué deben contener esos archivos?
Ralph
1
Markdown no tiene el tipo MIME text/plain, que es el único registrado en este archivo de escritorio.
David Foerster

Respuestas:

124

Copie el contenido de /usr/share/applications/sublime_text.desktopa~/.local/share/applications/sublime_text.desktop

O simplemente use:

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

Luego en el tipo de terminal: sudo update-desktop-database

agustaf
fuente
66
Gran solución Sería bueno si también ofrecieras la explicación de por qué esto funciona.
padawanTony
1
@padawanTony Hay una caché para los tipos de archivos (tipos MIME) en Ubuntu y cada tipo MIME tiene aplicaciones relacionadas. Al copiar el archivo, se copia sobre el sublime_text.desktoparchivo correcto que puede relacionarse con los archivos de texto (contiene la línea MimeType=text/plain;que el archivo predeterminado en la carpeta local no contiene). Luego, al ejecutar el comando sudo se actualizará el caché MIME (se lee en el archivo .desktop actualizado) y la relación aparecerá en el menú contextual. Desafortunadamente no puedo decir por qué tenemos un archivo .desktop con errores bajo .local en primer lugar.
MF.OX
¿Simplemente eliminar la entrada sublime_text.desktop de la carpeta local también funcionaría? ¿El sistema operativo generalmente haría una copia nueva?
minitauros
@agustaf, estoy usando ubuntu 16.04 pero la /.local/carpeta no está ubicada, ¿podrían ayudarme?
SagarPPanchal
@SagarPPanchal Puede intentar crearlo con mkdir -p ~/.local/share/applicationsy ver si copiar el archivo aún funciona. Si eso no funciona, puede publicar una nueva pregunta.
agustaf
7

Probé todas las opciones como se menciona en otras respuestas. Pero, de alguna manera, no me ayudó (estoy usando Ubuntu 16.04 e instalé Sublime-text_build-3126_amd64).

Veo que este problema ocurre en mi sistema solo cuando instalo el editor Sublime usando el paquete (sublime-text_build-3126_amd64.deb) descargado del sitio. Sin embargo, la instalación de Sublime desde la terminal resuelve este problema.

Todavía tengo que entender técnicamente por qué hay una diferencia en el comportamiento de la aplicación entre sus 2 modos de instalación. Sin embargo, como funciona para mí, lo comparto aquí para que pueda ser útil para otros. La alternativa de trabajo es:

  1. Desinstale el paquete sublime existente. Utilice Synaptic Pkg Mgr y realice una eliminación completa.
  2. Instala sublime usando los comandos:

    Para Sublime-Text-2:

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

    Para Sublime-Text-3:

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

    Ingrese el sublcomando para comenzar al instante.

  3. Haga clic derecho en el archivo que desea abrir en el editor Sublime. Ahora, puede encontrar la aplicación "Sublime text" en el menú. Además, puede configurar el editor como predeterminado para el tipo de archivo configurándolo en las propiedades del archivo.

¡Gracias!:)

umash07
fuente
7

En caso de que un caché viejo haga algo mal, simplemente elimínelo y deje que un sistema cree uno nuevo para usted.

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

Esto funciona para mi.

Naofumi
fuente
2

Haga esto solo si instaló texto sublime usando 'Ubuntu Make' (umake) . Ubuntu Make (umake) facilita la instalación y actualización de herramientas de desarrollador. Escriba esto en la terminal.

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

Se mostrará el contenido del archivo sublime-text.desktop. Tenga en cuenta la siguiente línea en el archivo:

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

Necesitas cambiar esa línea. Tipo:

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

Se abre el editor de nano texto, edite esa línea en

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

Asegúrese de escribir F mayúscula , no pequeña. Presione 'Ctrl + O'. Presione 'enter'. Presione 'Ctrl + X'. Tipo:

sudo update-desktop-database

Problema resuelto :), si no, reinicie el sistema. Nota: nano es muy bueno para editar, pruébalo (intenta)

abyt23
fuente
0

Abrir /usr/share/applications/defaults.list(un enlace simbólico /etc/gnome/defaults.listen mi sistema) en Sublime y reemplazar todas las instancias de gedit.desktopcon sublime_text.desktop. Guarde el archivo y reinicie su computadora; puede ser suficiente cerrar sesión y volver a iniciarla, pero sospecho que tendrá que salir por completo de Gnome para que la configuración se vuelva a cargar. Una vez que haya iniciado sesión, Sublime Text debe aparecer en el menú del botón derecho como la opción predeterminada para los archivos Markdown, y también debe estar en el menú "Abrir con" para todos los tipos de archivos que se pueden abrir en un editor de texto.

EDITAR:

Aquí están los contenidos de mi actual /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
fuente
Aún no hay alegría. Debe haber algo divertido en mi instalación de Sublime Text. Comparé el .desktoparchivo con el anterior Atom, y no hay una diferencia sustancial, pero Atomaparece en la open withlista.
Ralph
@Ralph muy extraño. Acabo de editar mi respuesta con el contenido actual de mi sublime_text.desktop, y se ve exactamente igual al de su pregunta. Mi próxima sugerencia sería desinstalar completamente Sublime (puede salir ~/.config/sublime-text-3) y reinstalarlo nuevamente. Vuelva a verificar dos /usr/share/applications/defaults.listveces para asegurarse de que se hayan reemplazado todas las entradas gedit(¿y quizás atomtambién?) sublime_text, Luego reinicie e intente nuevamente.
MattDMo