Wzniosły tekst nie jest wyświetlany w menu „otwórz za pomocą” programu Nautilus

57

Używam Ubuntu 15.10.

Mój /usr/share/applications/sublime_text.desktopzawiera następujące:

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

Kiedy klikam prawym przyciskiem myszy plik przeceny ( xxx.md) w Gnome Files (wcześniej „Nautilus”), nie widzę „Sublime Text” jako wyboru, nawet gdy wybieram „View All Applications”.

Próbowałem nawet dodanie %Fdo linii Exec=/opt/sublime_text/sublime_text -ni Exec=/opt/sublime_text/sublime_text --command new_filew [Desktop Action Window]i [Desktop Action Document], odpowiednio, ale to niczego nie zmienia.

Nawet pobiegłem sudo update-desktop-database.

Co ja robię źle?

Ralph
źródło
Jaką wersję Sublime używasz i jak ją zainstalowałeś? Czy dodałeś go /usr/share/applications/defaults.listi zastąpiłeś wszystkie gedit.desktopwpisy?
MattDMo
Używam Sublime Text v3 (kompilacja 3103) dla x64 zainstalowanego z pliku .deb. Nie edytowałem ani, defaults.listani gedit.desktop. Co powinny zawierać te pliki?
Ralph
1
Markdown nie ma typu MIME text/plain, który jest jedynym zarejestrowanym w tym pliku pulpitu.
David Foerster

Odpowiedzi:

124

Skopiuj zawartość /usr/share/applications/sublime_text.desktopdo~/.local/share/applications/sublime_text.desktop

Lub po prostu użyj:

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

Następnie w typie terminala: sudo update-desktop-database

agustaf
źródło
6
Świetne rozwiązanie. Byłoby miło, gdybyś również wyjaśnił, dlaczego to działa.
padawanTony
1
@padawanTony W Ubuntu istnieje pamięć podręczna dla typów plików (typy MIME), a każdy typ MIME ma powiązane aplikacje. Kopiowanie kopii pliku na poprawny sublime_text.desktopplik, który może odnosić się do plików tekstowych (zawiera wiersz, MimeType=text/plain;którego domyślny plik w folderze lokalnym nie zawiera). Następnie wykonanie polecenia sudo zaktualizuje pamięć podręczną MIME (wczyta się w zaktualizowanym pliku .desktop), a relacja pojawi się w menu kontekstowym. Nie mogę niestety powiedzieć, dlaczego mamy uszkodzony plik .desktop w .local.
MF.OX
Czy po prostu usunięcie wpisu sublime_text.desktop z folderu lokalnego również działałoby? Czy system operacyjny zwykle tworzy nową kopię?
minitauros
@agustaf, używam Ubuntu 16.04, ale /.local/folder nie znajduje się, czy mógłbyś pomóc
SagarPPanchal
@SagarPPanchal Możesz spróbować go utworzyć mkdir -p ~/.local/share/applicationsi sprawdzić, czy kopiowanie pliku nadal działa. Jeśli to nie pomoże, możesz opublikować nowe pytanie.
agustaf
7

Próbowałem wszystkich opcji wymienionych w innych odpowiedziach. Ale jakoś mi to nie pomogło (używam Ubuntu 16.04 i zainstalowałem Sublime-text_build-3126_amd64).

Widzę, że ten problem występuje w moim systemie tylko wtedy, gdy instaluję edytor Sublime przy użyciu pakietu (sublime-text_build-3126_amd64.deb) pobranego z witryny. Jednak zainstalowanie Sublime z terminala rozwiązuje ten problem.

Mam jeszcze technicznie wyjaśnić, dlaczego istnieje różnica w zachowaniu aplikacji między dwoma trybami instalacji. Jednak, ponieważ działa dla mnie, udostępniam go tutaj, aby mógł być pomocny dla innych. Alternatywą działania jest:

  1. Odinstaluj istniejący wysublimowany pakiet. Użyj Synaptic Pkg Mgr i wykonaj całkowite usunięcie.
  2. Zainstaluj sublime za pomocą poleceń:

    W przypadku Sublime-Text-2:

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

    W przypadku Sublime-Text-3:

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

    Wpisz sublpolecenie, aby rozpocząć natychmiast.

  3. Kliknij prawym przyciskiem myszy plik, który chcesz otworzyć w edytorze Sublime. Teraz możesz znaleźć aplikację „Podniosły tekst” na liście w menu. Możesz także ustawić edytor jako domyślny dla typu pliku, ustawiając go we właściwościach pliku.

Dzięki!:)

umash07
źródło
7

W przypadku, gdy stara pamięć podręczna robi coś złego, po prostu ją usuń i pozwól systemowi utworzyć nową.

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

Mi to pasuje.

Naofumi
źródło
2

Zrób to tylko, jeśli zainstalowałeś wysublimowany tekst za pomocą „Ubuntu Make” (umake) . Ubuntu Make (umake) ułatwia instalowanie i aktualizowanie narzędzi programistycznych. Wpisz to w terminalu.

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

Zostanie wyświetlona zawartość pliku sublime-text.desktop. Zwróć uwagę na następujący wiersz w pliku:

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

Musisz zmienić tę linię. Rodzaj:

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

Otworzy się edytor nano-tekstu, edytuj ten wiersz do

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

Upewnij się, że wpisałeś wielką literę F , a nie małą. Naciśnij „Ctrl + O”. Naciśnij enter'. Naciśnij „Ctrl + X”. Rodzaj:

sudo update-desktop-database

Problem rozwiązany :), jeśli nie, uruchom ponownie system. Uwaga: nano jest bardzo dobry do edycji, spróbuj (próbuje)

abyt23
źródło
0

Otwarte /usr/share/applications/defaults.list(dowiązaniem do /etc/gnome/defaults.listw moim systemie) w Sublime i zastąpić wszystkie wystąpienia gedit.desktopz sublime_text.desktop. Zapisz plik i uruchom ponownie komputer - wylogowanie i ponowne zalogowanie może być wystarczające, ale podejrzewam, że musisz całkowicie zamknąć Gnome, aby ustawienia zostały ponownie załadowane. Po ponownym zalogowaniu Sublime Text powinien zostać wyświetlony w menu po kliknięciu prawym przyciskiem myszy jako domyślny wybór plików Markdown, a także powinien znajdować się w menu „Otwórz za pomocą” dla wszystkich typów plików, które można otworzyć w Edytor tekstu.

EDYTOWAĆ:

Oto treść mojego obecnego /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
źródło
Wciąż nie ma radości. W mojej instalacji Sublime Text musi być coś zabawnego. Porównałem .desktopplik z tym Atomi nie ma zasadniczej różnicy, ale Atompojawia się na open withliście.
Ralph
@Ralph bardzo dziwny. Właśnie zredagowałem swoją odpowiedź z obecną zawartością mojej sublime_text.desktopi wygląda ona dokładnie tak samo jak ta w twoim pytaniu. Moją następną sugestią byłoby całkowite odinstalowanie Sublime (możesz wyjść ~/.config/sublime-text-3) i ponowna instalacja. /usr/share/applications/defaults.listPonownie sprawdź ponownie, aby upewnić się, że wszystkie gedit(a może atomrównież?) Wpisy zostały zastąpione sublime_text, a następnie uruchom ponownie i spróbuj ponownie.
MattDMo