ни
xdg-open some_file
ни
$EDITOR some_file
является надежным, если только вы НЕ ОПРЕДЕЛЯЕТЕ «по умолчанию» как то, что они вызывают, а это не тот смысл, в котором это обычно используется.
Например, в моих системах xenial:
У меня не определена глобальная переменная EDITOR:
$ env | grep EDITOR
$ echo $EDITOR
$
Таким образом, происходит $EDITOR some_file
сбой либо в графическом окружении (x & openbox, в lxterminal), либо в tty.
В графическом окружении xdg-open some_file
открывает файл в vi. В простой tty, он пытается сделать то же самое, но не удается. Но vi не мой редактор по умолчанию в том смысле, в котором это слово используется чаще всего. Все файловые менеджеры, которые я установил, согласны с тем, что мой редактор по умолчанию ed
(нет, не ЭТО ed
- если бы я пользовался мазохистским подходом vi
, мой ed
сценарий я написал).
Может быть оправдание для определения «default» в терминах одной или другой из этих команд, но при общем использовании подавляющего большинства пользователей «default» - это прилагательное, применяемое к любой программе, открывающей файл, когда вы удваиваете или один щелчок по нему в браузере файлов графического интерфейса (например, Nautilus, Pcmanfm, Thunar и т. д.) (двойной или одиночный в зависимости от настроек в этом браузере файлов PARTICULAR). Или, альтернативно, любая программа открывает файл, когда вы выделяете его и нажимаете ввод в обычном файловом браузере, таком как Midnight Commander.
Таким образом, при наиболее распространенном использовании «по умолчанию» вы можете иметь разные значения по умолчанию для каждого файлового браузера, и когда вы говорите о дефолте без квалификации, это означает, что по умолчанию используется в файловом браузере по умолчанию. И файловый браузер по умолчанию в графическом окружении будет открываться, если дважды щелкнуть каталог (или «папка») или символическую ссылку на каталог на рабочем столе, или если вы не используете метафору рабочего стола, возможно, один из самых популярных в меню. Насколько я знаю, в этом смысле, который является нормальным использованием в реальном мире, ответ Сумит Дешмукх является абсолютно правильным и полностью полным. Это может быть и в более абстрактных смыслах.
В неграфической среде, вне ортодоксального файлового менеджера, здравый смысл слова «по умолчанию» применительно к редактору не имеет нормального применения. Никто работает в TTY не вызывает редактор с xdg-open some_file
или , $EDITOR some_file
если они работают на чужой машине, не хочет устанавливать что - либо, и получил отчаянные. Они открывают редактор, напрямую вызывая того, кого хотят открыть, ПО ИМЯ. Если они получат, bash: gedit: command not found
они попробуют своего второго фаворита, и т. Д. То, что по умолчанию, не имеет значения. Все, что имеет значение, это их предпочтения и то, что установлено или может быть установлено.
Основной момент:
, , , gksu gedit /path/file.txt, который не будет работать, потому что gedit не является текстовым редактором по умолчанию. , , ,
Неправильно. И именно поэтому я написал, чтобы объяснить, почему это утверждение неверно и почему эта команда не выполнена. Что такое редактор по умолчанию, как бы вы его ни определяли, не имеет значения.
Чтобы эта команда работала, вам нужно 2 вещи:
Обе программы, gksu
и gedit
, должны быть установлены в системе.
У вас должны быть соответствующие разрешения для файла и его наследственных каталогов. Вы должны иметь x во всех каталогах в пути, по крайней мере r в самом файле и, вероятно, по крайней мере r в родительском каталоге. Некоторые редакторы могут требовать w в файле или даже в родительском каталоге, хотя они не должны.
Вы должны быть в состоянии определить причину сбоя команды, прочитав сообщение об ошибке. Если вам нравится gedit, установите его.
Но ГКСУ опасно. Используйте gksudo, если вам это нужно. Но не используйте никакие команды типа su / sudo / gksu / gksudo / pkexec, если только следующая команда не завершится без нее. И даже тогда, только если он ДОЛЖЕН потерпеть неудачу. Если это сработало, использование команды sudo-ish, чтобы СДЕЛАТЬ, что это похоже на «Если не подходит, возьмите больший молот». Это создаст больше проблем в будущем. В этом случае исправьте разрешения и попытайтесь выяснить, почему они были ошибочны.
Ни одна из команд типа sudo не является всемогущей. Иногда вы ДОЛЖНЫ изменить разрешения, прежде чем сможете редактировать файл, даже С gksudo.
Относительно опасности gksu
слушать Пэдди, который прокомментировал ответ Сьюмит. Он мудрый парень, который был вокруг некоторое время. Повторяя его 3 ссылки:
/ubuntu//a/288506/2088
https://bugs.launchpad.net/ubuntu/+source/gksu/+bug/1186676
http://ubuntuforums.org/showthread.php?t=1819589