Ubuntu com Xmonad - Como executar programas na inicialização

0

Estou usando o Ubuntu Mate com o XMonad. Eu não consigo entender como executar algo na inicialização após o login.

Eu quero que alguns programas como o Firefox sejam executados quando eu fizer login na minha área de trabalho.

Agora, digamos que eu queira apenas executar um script simples:

/home/juser/.xmonad/autostart.sh

O arquivo está definido como executável.

Eu tentei muitas coisas. Inicialmente, os aplicativos de inicialização das configurações do Ubuntu Companion não estão funcionando no xmonad.

A segunda coisa que eu tentei foi colocar o comando no final do meu arquivo .xsessionrc, após o xmonad ser executado. Meu arquivo .xsessionrc:

#!/bin/bash

xrdb -merge .Xresources
stalonetray &
feh --bg-scale /usr/share/backgrounds/cosmos/sombrero.jpg &
udiskie &
xfce4-power-manager &
xrandr --auto --output HDMI-1 --primary --left-of VGA-1 &
# Firefox PulseAudio fix
pulseaudio --start --exit-idle-time=-1 &
compton -bCG --active-opacity 1.0 --shadow-ignore-shaped &
if [ -x /usr/bin/nm-applet ] ; then
   nm-applet --sm-disable &
fi
exec xmonad
exec /home/juser/.xmonad/autostart.sh  #THIS IS NOT WORKING

A área de trabalho é iniciada com sucesso, mas meu script não é executado.

Outra coisa que não funciona é usar o SpawnOnce dentro do arquivo xmonad.hs. Algo parecido com isso (colei meu arquivo inteiro aqui: link ):

...
import XMonad.Util.SpawnOnce

myConfig = docks defaultConfig
        ...
        , startupHook = myStartupHook
...

myStartupHook = do
    spawnOnce "/home/juser/.xmonad/autostart.sh"
...

Meu script é simplesmente ignorado como no exemplo anterior. Então desisti da diretiva SpawnOnce.

Eu tenho outras opções? O que estou fazendo errado?

    
por user568021 18.11.2018 / 15:39

1 resposta

1

A linha exec xmonad em seu script de shell substitui o shell que está executando o script com o processo xmonad. Então não há mais ninguém para executar a próxima linha. Digite help exec em um shell bash ou consulte bash (1).

Você provavelmente deseja rewite as duas últimas linhas como

/home/juser/.xmonad/autostart.sh &
exec xmonad

se nenhum dos itens autostartados precisar de xmonad.

    
por 18.11.2018 / 16:01