Я использую Ubuntu 12.04 с интерфейсом Unity по умолчанию. Позже я установил рабочий стол KDE, XFCE, LXDE, gnome-shell и Cinnamon.
KDE поставляется с приложениями по умолчанию, отличными от Unity, такими как
kwrite
для редактирования текста,konsole
как виртуальный терминал,kfontview
для просмотра и установки шрифта,dolphin
как файловый браузер и т. д.
Другие DE поставляются с некоторыми другими приложениями по умолчанию.
Проблема возникает, когда вы хотите открыть файл, такой как текстовый файл, который можно открыть с помощью gedit
и kwrite
, я хочу использовать kwrite
в KDE и gedit
в Unity или Gnome. Но нет способа установить так. Я могу установить приложение по умолчанию для текстового файла, изменив соответствующие настройки как в KDE, так и в Unity, но оно станет по умолчанию для обоих DE.
Например, если я устанавливаю приложение kfontviewer
по умолчанию для просмотра шрифтов в KDE, оно также открывает шрифты, когда я нахожусь в Unity или Gnome, и наоборот. Это проблема, потому что загрузка другой программы DE занимает больше времени, чем по умолчанию для используемой DE.
У меня вопрос: могу ли я использовать разные приложения по умолчанию для разных DE? Как?
Ответы:
Я собрал это решение, чтобы решить вашу проблему, и протестировал его на KDE и XFCE с открытием текстовых файлов и файлов шрифтов. Это универсальное решение, которое должно быть применимо к любому количеству сред рабочего стола и типов MIME. Это работает так: есть простой скрипт на python, называемый custom-open, который открывает файл с использованием разных приложений для разных сред рабочего стола. Вот шаги для настройки решения:
заказ открыт
.custom-open.ini
Итак, что хорошо в этом решении, так это то, что вы можете добавить столько новых сред рабочего стола, сколько захотите, и столько типов mime, сколько захотите. чтобы проверить, какое имя вы должны указать для окружения рабочего стола, запустите приведенную ниже команду в терминале.
чтобы проверить точный тип MIME файла, просто запустите:
Отредактировано: необходимость в символических ссылках была удалена, это должно облегчить использование. Я также добавил графический обработчик ошибок, который выдает предупреждение при возникновении ошибки.
источник
co.desktop
) с помощьюExec=/home/user/.scripts/Customization/Defaultapps/custom-open-text
~ / .local / share / apps. 2.) Редактировать./local/share/applications/mimeapps.list
и добавьте следующую ассоциацию по умолчанию:text/plain=co.desktop
. Найти какие-либо ошибки в этой процедуре?Если вы не найдете «правильный» способ сделать это, вы можете использовать метод грубой силы что-то вроде:
cd $HOME;ls -Rlrt | less
чтобы узнать, какие файлы были только что обновлены - то есть, где были сохранены эти вариантыНадеемся, что есть способ переключать среды рабочего стола из сценария оболочки с возможностью указать среде рабочего стола, откуда взять файлы конфигурации. Это может быть чище, чем постоянно перемещать файлы, но я не исследовал, работает ли это или нет.
Другое, гораздо более простое решение, но не совсем то, что вы просили, было бы просто:
Создайте любые общие файлы данных, к которым вам нужен доступ от всех этих пользователей
-rwxrwxr-x
(chmod 775 list-of-files-and-directories
). Таким образом, вы не получите ошибок прав доступа при попытке записи в файл, который вначале записал другой из ваших «пользователей».источник
~/.local/share/mime/