Псевдоним Gedit для подавления вывода терминала

Я работаю по SSH во встроенной плате (Jetson TK1 работает под управлением Ubuntu 14.04). Я использую опцию -X, чтобы я мог использовать gedit для редактирования текстовых файлов. При выполнении из терминала gedit извергает кучу мусора на терминал. Это легко обойти, набрав

gedit [file] > /dev/null 2>&1 &

с последним амперсандом и отправив процесс в фоновый режим, чтобы я мог продолжать использовать терминал. Это утомительно печатать каждый раз, поэтому я хочу определить псевдоним:

alias gedit="gedit $@ > /dev/null 2>&1 &"

, однако это не работает. После того, как псевдоним определен (и для первоначальной попытки я определил его непосредственно в командной строке bash), при наборе

gedit [file]

Bash отвечает

-bash: [file]: command not found

и открывает gedit с помощью с текстовым файлом без названия. Удаление конечного амперсанда в определении псевдонима позволяет псевдониму открыть указанный файл, как и ожидалось, но теперь, очевидно, не отправляет gedit в фоновый режим. Что не так?

1
задан 28 April 2016 в 19:24

2 ответа

Мой ответ в большой степени основан на этом сообщении: http://ubuntuforums.org/showthread.php?t=2011495

псевдоним не работает как этот, аргументы всегда передаются в конец команды. Используя Ваш псевдоним, поскольку пример, gedit filename на самом деле выполнит следующее:

gedit $@ > /dev/null 2>&1 & filename

вместо [1 112]

gedit filename > /dev/null 2>&1 &

, Который заставляет удар думать Вы вводящий вторую команду, названную filename.

то, Что необходимо сделать вместо этого, создают функцию в Вашем ~/.bashrc файл, который выполнит команду gedit:

следующий отрывок является немного измененной версией код drmrgd

function gedit-bg() {
    if [ ! -n "$1" ]; then
        echo "USAGE: gedit-bg <filename>";
    else
        ( gedit "$1" > /dev/null 2>&1 & );
    fi
}

, необходимо будет повторно зарегистрироваться для изменения для вступления в силу, после того как Вы делаете, можно использовать метод как так:

gedit-bg filename
0
ответ дан 29 April 2016 в 05:24
  • 1
    С уважением, почему необходимо учиться, это просто ti устанавливает что-то? Я действительно don' t хотят изучить все это только, чтобы сделать основные вещи – Rush 28 September 2017 в 23:19

Предупреждения от gedit на сервере, который я использую для студенческих учетных записей, очень недовольны студентам. Изменение ответа Dan немного позволяет студенту все еще типу gedit, как обычно. Я поместил это в /etc/profile.d/custom.sh (в Centos 7, но по-видимому он будет работать в Ubuntu также, или в пользователе .profile файл)

function gedit-bg() {
    if [ ! -n "$1" ]; then
        echo "USAGE: gedit <filename>";
    else
        ( \gedit "$1" > /dev/null 2>&1 & );
    fi
}

alias gedit="gedit-bg"
0
ответ дан 29 April 2016 в 05:24
  • 1
    Позвольте мне закончить свой ответ, и Вы будете видеть, что Ubuntu также имеет опции установки щелчка – George Udosen 28 September 2017 в 23:20

Другие вопросы по тегам:

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