Não é possível definir o Sublime Text como o aplicativo padrão

2

Eu quero definir o texto sublime como meu aplicativo padrão para abrir arquivos como .cpp e .java, no entanto, qualquer uma das minhas listas de aplicativos em "Selecionar aplicativo" não exibe texto sublime.

Eu tentei o método neste link, mas não funcionou: Altere todas as associações do gedit para outra aplicação

Existe algum método alternativo?

Aqui está a saída de alguns comandos relacionados, se isso ajudar:

$ ls -al /usr/share/applications/*sublime*
-rw-r--r-- 1 root root 230 Aug  8 23:50 /usr/share/applications/sublime.desktop
-rw-r--r-- 1 root root 532 Sep 23  2016 /usr/share/applications/sublime_text.desktop

$ ls -al /usr/local/share/applications/*sublime*
ls: cannot access '/usr/local/share/applications/*sublime*': No such file or directory

$ ls -al /opt
total 20
drwxr-xr-x  5 root root 4096 Aug  8 23:58 .
drwxr-xr-x 25 root root 4096 Aug 11 08:07 ..
drwxr-xr-x  3 root root 4096 Apr 21 16:02 google
drwxr-xr-x  5 root root 4096 Jul 14  2012 sublime
drwxr-xr-x  4 root root 4096 Aug  8 23:58 sublime_text

$ cat /usr/local/share/applications/sublime*.desktop
cat: '/usr/local/share/applications/sublime*.desktop': No such file or directory

$ cat /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;

Em resposta aos comentários:

A saída que recebo depois de executar sudo fsck -f /

Isso é o que aparece alguns segundos depois cada vez que o comando anterior é executado

Link para a tela que aparece automaticamente depois

O ícone à esquerda (aquele que tem uma caixa) é o Sublime Text 3, para o qual eu quero um caminho padrão. O ícone à direita (um com o S) é para o Sublime Text 2, que não abre devido à compilação expirada.

    
por Kewal Shah 11.08.2017 / 04:32

2 respostas

2

Para aqueles que não desejam passar por todos os longos comentários e chats relacionados a este post, finalmente recebi a resposta ( credit: @Terrance ):

  • Digite cat /usr/share/applications/sublime_text.desktop para verificar o arquivo .desktop presente no ST 3.

  • Insira sudo nano /usr/share/applications/defaults.list para abrir a lista de aplicativos padrão.

  • Edite linhas como text / x-java e text / x-c ++ de qualquer aplicativo padrão, para ST 3, por exemplo. text/x-java=sublime_text.desktop , salve e saia.

Espero que isso ajude:)

    
por Kewal Shah 13.08.2017 / 06:53
4

Ainda mais fácil ... clique com o botão direito em qualquer documento .c ++ ou .java, selecione Properties . Vá para a guia Open With , selecione Sublime na lista de aplicativos disponíveis e clique em Set as Default .

Se, por algum motivo, o Sublime não estiver aparecendo no seu Painel do Unity ou na lista de aplicativos disponíveis, você deverá reinstalar o Sublime, pois ele não tem o arquivo .desktop. Recomende que você use o Sublime 3 beta, pois o Sublime 2 expirou.

Atualização # 1:

Para verificar o sistema de arquivos na sua partição do Ubuntu ...

  • inicialize no menu GRUB
  • escolha Opções avançadas
  • escolha o modo de recuperação
  • escolha Acesso raiz
  • no prompt #, digite sudo fsck -f /
  • repita o comando fsck se houver erros
  • digite reboot

Atualização nº 2:

Como por @Terrance, houve um problema com /usr/share/applications/defaults.list e que Sublime Text 2 expirou e não seria lançado. Veja a resposta aceita para detalhes.

    
por heynnema 11.08.2017 / 16:21