Sublime Text не отображается в меню «Открыть с помощью» Nautilus

57

Я использую Ubuntu 15.10.

Мой /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;

Когда я щелкаю правой кнопкой мыши на файле уценки ( xxx.md) в Gnome Files (ранее «Nautilus»), я не вижу «Sublime Text» в качестве выбора, даже когда я выбираю «View All Applications».

Я даже пытался добавить %Fв строки Exec=/opt/sublime_text/sublime_text -nи Exec=/opt/sublime_text/sublime_text --command new_fileв [Desktop Action Window]и [Desktop Action Document], соответственно, но это ничего не изменило.

Я даже побежал sudo update-desktop-database.

Что я делаю неправильно?

Ральф
источник
Какую версию Sublime вы используете, и как вы ее установили? Вы добавили /usr/share/applications/defaults.listи заменили все gedit.desktopзаписи?
MattDMo
Я использую Sublime Text v3 (сборка 3103) для x64, установленного из файла .deb. Я не редактировал ни, defaults.listни gedit.desktop. Что должны содержать эти файлы?
Ральф
1
У Markdown нет типа MIME text/plain, который является единственным, зарегистрированным в этом файле рабочего стола.
Дэвид Фёрстер

Ответы:

124

Скопируйте содержимое /usr/share/applications/sublime_text.desktopв~/.local/share/applications/sublime_text.desktop

Или просто используйте:

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

Тогда в терминале наберите: sudo update-desktop-database

agustaf
источник
6
Отличное решение. Было бы неплохо, если бы вы также предложили объяснение, почему это работает.
padawanTony
1
@padawanTony В Ubuntu есть кеш для типов файлов (MIME-типов), и у каждого MIME-типа есть связанные приложения. Копирование файла копирует поверх правильного sublime_text.desktopфайла, который может относиться к текстовым файлам (содержит строку, MimeType=text/plain;которой файл по умолчанию в локальной папке не содержит). Затем выполнение sudo-команды обновит кеш MIME (считывает в обновленном файле .desktop), и отношение появится в контекстном меню. К сожалению, я не могу сказать, почему у нас глючит файл .desktop в .local.
MF.OX
Будет ли работать просто удаление записи sublime_text.desktop из локальной папки? Будет ли ОС обычно делать его свежую копию?
Минитаурос
@agustaf, я использую Ubuntu 16.04, но /.local/папка не найдена, не могли бы вы помочь
SagarPPanchal
@SagarPPanchal Вы можете попробовать создать его с помощью mkdir -p ~/.local/share/applicationsи посмотреть, все еще работает копирование файла. Если это не сработает, вы можете опубликовать новый вопрос.
agustaf
7

Я перепробовал все варианты, как указано в других ответах. Но как-то это мне не помогло (я использую Ubuntu 16.04 и установил Sublime-text_build-3126_amd64).

Я вижу, что эта проблема возникает в моей системе только при установке редактора Sublime с использованием пакета (sublime-text_build-3126_amd64.deb), загруженного с сайта. Однако установка Sublime из терминала решает эту проблему.

Мне еще предстоит технически выяснить, почему существует разница в поведении приложения между двумя режимами установки. Однако, поскольку это работает для меня, я делюсь этим здесь, чтобы это могло быть полезно для других. Рабочая альтернатива:

  1. Удалите существующий возвышенный пакет. Используйте Synaptic Pkg Mgr и сделайте полное удаление.
  2. Установите возвышенное с помощью команд:

    Для Sublime-Text-2:

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

    Для Sublime-Text-3:

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

    Введите sublкоманду, чтобы начать немедленно.

  3. Щелкните правой кнопкой мыши файл, который вы хотите открыть в редакторе Sublime. Теперь вы можете найти приложение «Sublime text», указанное в меню. Кроме того, вы можете установить редактор по умолчанию для типа файла, установив его в свойствах файла.

Спасибо!:)

umash07
источник
7

В случае, если старый кеш делает что-то не так, просто удалите его и позвольте системе создать новый для вас.

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

Меня устраивает.

Naofumi
источник
2

Делайте это, только если вы установили возвышенный текст с помощью Ubuntu Make (umake) . Ubuntu Make (umake) упрощает установку и обновление инструментов разработчика. Введите это в терминале.

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

Будет отображено содержимое файла sublime-text.desktop. Обратите внимание на следующую строку в файле:

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

Вам нужно изменить эту строку. Тип:

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

Откроется текстовый редактор nano, отредактируйте эту строку

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

Убедитесь, что вы набрали заглавную F , а не маленькую. Нажмите Ctrl + O. Нажмите Ввод'. Нажмите Ctrl + X. Тип:

sudo update-desktop-database

Проблема решена :), если нет, перезагрузите систему. Примечание: nano очень хорош для редактирования, попробуйте

abyt23
источник
0

Open /usr/share/applications/defaults.list(символьная ссылка /etc/gnome/defaults.listна моей системе) в возвышенном и заменить все экземпляры gedit.desktopс sublime_text.desktop. Сохраните файл и перезагрузите компьютер - этого может быть достаточно для выхода и повторного входа, но я подозреваю, что вам необходимо полностью выйти из Gnome для перезагрузки настроек. После того, как вы снова вошли в систему, Sublime Text должен быть указан в контекстном меню в качестве выбора по умолчанию для файлов Markdown, и он должен быть в меню «Открыть с помощью», а также для всех типов файлов, которые можно открыть в Текстовый редактор.

РЕДАКТИРОВАТЬ:

Вот содержимое моего тока /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
источник
Все еще нет радости. В моей установке Sublime Text должно быть что-то смешное. Я сравнил .desktopфайл с тем Atom, и нет существенной разницы, но Atomпоявляется в open withсписке.
Ральф
@Ральф очень странный. Я только что отредактировал свой ответ с текущим содержанием моего sublime_text.desktop, и он выглядит точно так же, как и тот, что в вашем вопросе. Следующим моим предложением было бы полностью удалить Sublime (вы можете оставить ~/.config/sublime-text-3) и переустановить его заново. Еще /usr/share/applications/defaults.listраз проверьте еще раз, чтобы убедиться, что все gedit(и, возможно, atomтакже?) Записи были заменены sublime_text, затем перезагрузите компьютер и попробуйте снова.
MattDMo