Допустим, я хочу создать псевдоним ss
для команды sudo -s
. Но ss
уже является существующей командой, поэтому я хочу создать другой псевдоним с именем sst
для команды ss
.
Если используются только обычные имена команд, это невозможно, поскольку псевдонимы:
Итак если я попробую следующее:
alias sst='ss'
alias ss='sudo -s'
Выполнение команды sst
приведет к запуску sudo -s
, что не является моим намерением.
Как это можно сделать?
Если вы используете оснастку VLC, вероятно, именно поэтому. Для доступа к файлам в домашней папке используется интерфейс home
. Он также может использовать интерфейс съемных носителей
(см. snap connections vlc
) для чтения данных на съемных устройствах, таких как USB-ключи и смонтированные тома.
Итак, то, что происходит, так это то, что изолированные функции безопасности snap блокируют это. Обходной путь заключается в использовании «bind mounts» вместо symlinks. Таким образом, вы можете, например, sudo mount -o bind/meda/bigdisk/home/Videos/bigdisk
, и VLC должен иметь возможность видеть это.
Я нашел проблему. Ранее я установил 2-портовый переключатель ATEN USB kvm для клавиатуры/мыши. Его удаление решает проблему.
-121--909551-Для выполнения вышеуказанных действий необходимо указать абсолютный путь выполнения команды.
Это можно сделать следующим образом:
alias sst='/usr/bin/ss'
alias ss='sudo -s
Однако не всегда можно быть уверенным, что ss
находится в этом месте, поэтому более прочный подход будет:
alias sst='$(which ss)'
alias ss='sudo -s
Теперь выше работает, как и ожидалось, где ss
запускает sudo-s
и sst
выполняет команду ss
.