Как заставить gedit открывать новое окно независимо от существующих окон gedit всякий раз, когда текстовый файл дважды щелкается на рабочем столе Gnome в Debian 8?

Можно также переслать это хакерское решение от суперпользователя:

[Это] сохраняет текущую папку в файле после каждой команды (не слишком больно, IMO) и открывает новый терминал в сохраненной текущей папке.

добавьте следующее в .zshrc [или .bashrc ]

# emulate bash PROMPT_COMMAND (only for zsh)
precmd() { eval "$PROMPT_COMMAND" }
# open new terminal in same dir
PROMPT_COMMAND='pwd > "${HOME}/.cwd"'
[[ -f "${HOME}/.cwd" ]] && cd "$(< ${HOME}/.cwd)"

Обратите внимание, что при открытии нового вы также поместите вас в свой последний использованный каталог. окно .

9
15.03.2019, 14:06
2 ответа

Причина, по которой ваша модификация ключа Exec в файле .desktop не сработала, заключается в том, что gedit активирован через DBus. Это означает, что он запускается через демон DBus вашего сеанса, а затем предоставляет общий интерфейс DBus для таких активируемых программ, чтобы указать файлы для открытия. Вы можете предотвратить это, изменив ключ DBusActivatable на false.

Кроме того, гораздо лучше создать копию файла .desktop, который вы хотите изменить, в своем домашнем каталоге и использовать его для замены общесистемного файла, чем напрямую изменять общесистемный файл. Таким образом, системный не будет перезаписан при обновлении пакета дистрибутива. Для этого просто скопируйте /usr/share/applications/org.gnome.gedit.desktop в ~/.local/share/applications/org.gnome.gedit.desktop. Файлы по этому пути переопределяют файлы с тем же именем из общесистемного каталога.

Кроме того, существует важное различие между двумя возможными флагами, используемыми для открытия нового окна: --new-window или -s. Оба приведут к тому, что файлы будут открываться в новом окне, но с -s каждое окно также будет принадлежать своему собственному процессу. При использовании --new-window все окна используют один и тот же процесс gedit.

И, наконец, чтобы убедиться, что это также работает, если вы выбираете несколько файлов в файловом менеджере и открываете их, вам нужна другая модификация ключа Exec. %U означает, что несколько URL-адресов разрешены в качестве аргументов для этой команды, а это означает, что файловый менеджер запустит ее следующим образом: gedit --new-window file1.txt file2.txt . В результате появится одно новое окно с двумя вкладками. Если вы измените это значение на %u сейчас, это сообщит файловому менеджеру, что приложение принимает только один URL-адрес в качестве аргумента и, следовательно, заставляет его запускать команду несколько раз, каждый раз с другим файлом в качестве его аргумент. Дополнительные сведения об этом см. в спецификации доступа к рабочему столу freedesktop.

9
27.01.2020, 20:07

Основываясь на ответе Себастьяна , сделайте следующее:

  1. Сделайте локальную копию конфигураций gedit. Вносимые вами изменения применяются только к текущему пользователю.

    cp /usr/share/applications/org.gnome.gedit.desktop ~/.local/share/applications/geditNewWin.desktop

  2. В файле ~/.local/share/applications/geditNewWin.desktop :Перейдите ко всем EXEC=строкам (есть несколько )и установите для них значение Exec=gedit -s %U. Далее измените Name=Text Editorна Name=Text Editor (new window).

  3. В вашем файловом менеджере Nautilus (стандартный файловый менеджер в Gnome, часто называемый просто «Файлы» или Gnome Files)связывает типы файлов (.txt,.csv,... )с вами только что созданное приложение:

    • щелкните правой кнопкой мыши файл.txt (или файл любого другого типа)
    • нажмите «Свойства»
    • выбрал вкладку «Открыть с помощью»
    • выберите «Текстовый редактор (новое окно )» из списка
    • нажмите «Установить по умолчанию»
2
27.01.2020, 20:07

Теги

Похожие вопросы