Texto sublime não exibido no menu "abrir com" do Nautilus

57

Estou executando o Ubuntu 15.10.

Meu /usr/share/applications/sublime_text.desktopcontém o seguinte:

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

Quando clico com o botão direito do mouse em um arquivo de remarcação ( xxx.md) nos Arquivos Gnome (anteriormente "Nautilus"), não consigo ver "Texto sublime" como uma opção, mesmo quando seleciono "Exibir todos os aplicativos".

Eu até tentei adicionar %Fàs linhas Exec=/opt/sublime_text/sublime_text -ne Exec=/opt/sublime_text/sublime_text --command new_fileno [Desktop Action Window]e [Desktop Action Document], respectivamente, mas isso não mudou nada.

Eu até corri sudo update-desktop-database.

O que estou fazendo errado?

Ralph
fonte
Qual versão do Sublime você está executando e como a instalou? Você adicionou /usr/share/applications/defaults.liste substituiu todas as gedit.desktopentradas?
MattDMo
Estou executando o Sublime Text v3 (compilação 3103) para x64 instalado de um arquivo .deb. Eu não editar qualquer defaults.listou gedit.desktop. O que esses arquivos devem conter?
11116 Ralph
11
O Markdown não possui o tipo MIME text/plain, que é o único registrado neste arquivo da área de trabalho.
David Foerster

Respostas:

124

Copie o conteúdo de /usr/share/applications/sublime_text.desktoppara~/.local/share/applications/sublime_text.desktop

Ou simplesmente use:

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

Em seguida, no tipo de terminal: sudo update-desktop-database

agustaf
fonte
6
Ótima solução. Seria bom se você também oferecesse a explicação de por que isso funciona.
padawanTony
11
@padawanTony Há um cache para os tipos de arquivo (tipos MIME) no Ubuntu e cada tipo MIME tem aplicativos relacionados. Copiar o arquivo copia sobre o sublime_text.desktoparquivo correto, capaz de se relacionar com arquivos de texto (contém a linha MimeType=text/plain;que o arquivo padrão na pasta local não contém). A execução do comando sudo atualizará o cache MIME (lê o arquivo .desktop atualizado) e a relação aparecerá no menu de contexto. Infelizmente, não posso dizer por que temos o arquivo .desktop com erro em .local em primeiro lugar.
MF.OX
Simplesmente excluir a entrada sublime_text.desktop da pasta local também funcionaria? O SO normalmente faria uma nova cópia dele?
Minitauros
@agustaf, estou usando o Ubuntu 16.04, mas /.local/pasta não está localizado, você poderia por favor me ajude
SagarPPanchal
@SagarPPanchal Você pode tentar criá-lo mkdir -p ~/.local/share/applicationse verificar se a cópia do arquivo ainda funciona. Se isso não funcionar, você pode postar uma nova pergunta.
agustaf
7

Eu tentei todas as opções, como mencionado em outras respostas. Mas, de alguma forma, isso não me ajudou (estou usando o Ubuntu 16.04 e instalei o Sublime-text_build-3126_amd64).

Vejo que esse problema ocorre no meu sistema somente quando instalo o editor Sublime usando o pacote (sublime-text_build-3126_amd64.deb) baixado do site. No entanto, a instalação do Sublime a partir do terminal resolve esse problema.

Ainda estou para descobrir tecnicamente por que há uma diferença no comportamento do aplicativo entre os dois modos de instalação. No entanto, como funciona para mim, estou compartilhando aqui para que possa ser útil para outras pessoas. A alternativa de trabalho é:

  1. Desinstale o pacote sublime existente. Use Synaptic Pkg Mgr e faça uma remoção completa.
  2. Instale o sublime usando os 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
    

    Digite o sublcomando para começar instantaneamente.

  3. Clique com o botão direito do mouse no arquivo que deseja abrir no editor Sublime. Agora, você pode encontrar o aplicativo "Texto sublime" listado no menu. Além disso, você pode definir o editor como padrão para o tipo de arquivo, definindo-o nas propriedades do arquivo.

Obrigado!:)

umash07
fonte
7

Caso um cache antigo faça algo errado, simplesmente exclua-o e deixe o sistema criar um novo para você.

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

Funciona para mim.

Naofumi
fonte
2

Faça isso apenas se você instalou texto sublime usando o 'Ubuntu Make' (umake) . O Ubuntu Make (umake) facilita a instalação e a atualização das ferramentas do desenvolvedor. Digite isso no terminal.

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

O conteúdo do arquivo sublime-text.desktop será exibido. Observe a seguinte linha no arquivo:

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

Você precisa mudar essa linha. Tipo:

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

O nano editor de texto é aberto, edite essa linha para

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

Certifique-se de digitar maiúsculas F , não pequenas. Pressione 'Ctrl + O'. Pressione Enter'. Pressione 'Ctrl + X'. Tipo:

sudo update-desktop-database

Problema resolvido :), se não, reinicie o sistema. Nota: o nano é muito bom para editar, tente (tente)

abyt23
fonte
0

Abra /usr/share/applications/defaults.list(um link simbólico /etc/gnome/defaults.listno meu sistema) no Sublime e substitua todas as instâncias de gedit.desktoppor sublime_text.desktop. Salve o arquivo e reinicie o computador - pode ser suficiente fazer logoff e logon novamente, mas desconfio que você precise sair completamente do Gnome para que as configurações sejam recarregadas. Depois de fazer login novamente, o Sublime Text deve ser listado no menu do botão direito do mouse como a opção padrão para arquivos Markdown, e deve estar no menu "Abrir com", bem como em todos os tipos de arquivos que podem ser abertos em um arquivo. editor de texto.

EDITAR:

Aqui está o conteúdo da minha atual /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
fonte
Ainda sem alegria. Deve haver algo engraçado na minha instalação do Sublime Text. Comparei o .desktoparquivo com o arquivo Atome não há diferença substancial, mas Atomaparece na open withlista.
12136 Ralph
@ Ralph muito estranho. Acabei de editar minha resposta com o conteúdo atual da minha sublime_text.desktope ela parece exatamente igual à da sua pergunta. Minha próxima sugestão seria desinstalar completamente o Sublime (você pode sair ~/.config/sublime-text-3) e reinstalá-lo novamente. Verifique /usr/share/applications/defaults.listnovamente para garantir que todas as entradas gedit(e talvez atomtambém?) Tenham sido substituídas por sublime_text; em seguida, reinicie e tente novamente.
21816 MattDMo