My issue is I'm trying to have a main Wayland based gui/desktop while X apps are isolated in containers. Isn't there a way to run those X apps inside containers without the Xwayland overhead?
Цитируемый комментарий сбивает с толку. Пожалуйста, внимательно изучите ответ, который сразу же следует за ним, и проясните эту путаницу.
You need an X server in any case.
Если вы хотите запустить приложение X и у вас есть сервер отображения Wayland, вам потребуется Xwayland для перевода.
Если вы хотите избежать накладных расходов и в полной мере использовать производительность Wayland -, вам нужны контейнеры, поддерживающие собственные контейнеры Wayland. Например, запускать приложения Flatpak под Wayland. (Насколько я знаю, если вы запускаете приложения Flatpak под X рабочим столом, он просто сдается и разрешает полный небезопасный X-доступ ).
Вы говорите «gotodir z
должен отвезти меня в дирзз» Насколько я вижу, ни один из ответов, опубликованных до сих пор, не сделает этого. Но нам нужно изменить только один символ из ответа Кайлума:
gotodir() {
cd ~/dir"$1"*
}
Обратите внимание на добавление символа *
. Таким образом, gotodir z
приведет вас к первому элементу в вашем домашнем каталоге. чье имяначинаетсяс dirz
(, если есть, и если это каталог ).
Протестировано в bash. Я не знаю, будет ли это работать во всех оболочках.
Из справочной страницы bash в разделе alias
:
There is no mechanism for using arguments in the replacement text. If arguments are needed, a shell function should be used
Итак, чтобы делать то, что вы хотите, просто определите вместо этого функцию:
gotodir() { cd ~/dir"$1"; }
Тогда просто назовите это как:
gotodir 1
Другой возможностью является установка переменной CDPATH. Он содержит разделенный запятыми список каталогов, cd
проверяемых при переключении на относительный каталог. Если имена каталогов слишком длинные, используйте символические ссылки.
Вы можете использовать функцию внутри псевдонима:
alias gotodir='function _gtdir() { cd ~/dir${1} ; } ; _gtdir '