В командной строке ваша оболочка - bash. В вашем скрипте вы используете / bin / sh
. / bin / sh
очевидно не является bash в вашей системе, а синтаксис <()
явно не присутствует в какой бы то ни было оболочке / bin / sh
.
Измените shebang (часть #! / Bin / sh
) на #! / Bin / bash
.
Вы можете поместить команды, которые хотите запустить перед запуском xmonad, в ~ / .xmonad / xmonad-session-rc
.
Если у вас есть ~ / .xsession
, его задача - запустить весь ваш X-сеанс. Когда этот сценарий вернется, ваша сессия будет завершена. Поэтому, если вы хотите использовать этот файл, вам нужно запустить xmonad из него.
#! /bin/sh
/home/kevin/.dropbox-dist/dropboxd &
exec xmonad
Обратите внимание, что для выполнения .xsession
необходимо выбрать настраиваемый сеанс в диспетчере отображения, а не в xmonad.
~ / .xinitrc
похож на ~ / .xsession
тем, что при выходе ваш сеанс X завершается. Разница в том, что ~ .xsession
выполняется диспетчером отображения, который только что вошел в систему, тогда как / xinitrc
выполняется для сеансов X, запущенных извне X с помощью startx
.
В качестве альтернативы вы можете запустить программу из startupHook
xmonad, но это имеет обратную сторону: она будет выполнена снова, если вы перезапустите xmonad.