Я нашел эту запись запуска im-запуска после установки Ubuntu 19.10, которая выполняется sh -c 'if ! [ -e "/usr/bin/ibus-daemon" ] && [ "x$XDG_SESSION_TYPE" = "xwayland" ] ; then exec env IM_CONFIG_CHECK_ENV=1 im-launch true; fi'
Мой Вопрос - то, что цель этой записи, и wht, собирающийся, произошел, если я отключил его?
-e
проверяют, что файл /usr/bin/ibus-daemon
существует или нет? существуйте верное средство не существует ложь средств.
!
хочет подтвердить выше значения, ложь, если выше значения будет верно, то это ничего не выполнит.
[ "x$XDG_SESSION_TYPE" = "xwayland" ]
это может иметь любой ниже значений на основе того, как Вы принимаете решение войти в систему в экране входа в систему. какая сессия Вы выберете x11 или Уэйленд.
"xx11" = "xwayland"
"xwayland" = "xwayland"
вывод в качестве примера $XDG_SESSION_TYPE
administrator@pratap:~$ echo $XDG_SESSION_TYPE
x11
другой exaple:
administrator@pratap:~$ echo $XDG_SESSION_TYPE
wayland
administrator@pratap:~$
, если 1-е выражение является ложью и x$XDG_SESSION_TYPE = xwayland затем должностное лицо команда env IM_CONFIG_CHECK_ENV=1 im-launch true
, если 1-е выражение верно или x$XDG_SESSION_TYPE не равен xwayland, затем ничего не делают.
видят man test
! EXPRESSION
EXPRESSION is false
, и
-e FILE
FILE exists
можно читать больше о том, что эта команда делает then exec env IM_CONFIG_CHECK_ENV=1 im-launch true;
, см. man env
& человек im-launch
По умолчанию в Ubuntu 19.10 /usr/bin/ibus-daemon
существует. таким образом, команда не будет выполняться.
env IM_CONFIG_CHECK_ENV=1 im-launch true
то, когда существует файл /usr/bin/ibus-daemon
и моя сессия, x11
, вот что-то о IM
, когда нет никакого файла /usr/bin/ibus-daemon
, и моя сессия wayland
, вот вещь, которая отличается сверху, что означает, что ENV применяется и затем цепная реакция follwed.
так, если Вы отключаете или включаете это из списка запуска, ничего не происходит, если никакое существование этого файла /usr/bin/ibus-daemon
и Вашей сессии не wayland
, условия соблюдают.