LINUX.ORG.RU

autostart скрипты/костыли

 , , ,


3

2

наверняка, у каждого, кто пользует виндоуманагеры, нуждается в автостарте каких-либо приложений, но не все пользуют встроенные фичи, кто-то их дополняет скриптами, а кто-то просто их лишён. посему завожу этот топик, чтобы было, где обменяться удобными решениями. свой костыль запощу позже.

пользователи DE и dex-подобного софта — лесом.

Ответ на: комментарий от IIIypuk

что такое dex-подобный софт?

* x11-misc/dex
     Available versions:  (~)0.6 {PYTHON_TARGETS="python3_2 python3_3"}
     Homepage:            http://e-jc.de/
     Description:         DesktopEntry eXecution - tool to manage and launch autostart entries
funeralismatic ★★★
() автор топика
Ответ на: комментарий от NeverLoved

os.execute

вот туда-то я и пихаю скрипты.

кстати, при рестарте ты должен получать дубли запущенных приложений. не страдаешь?

funeralismatic ★★★
() автор топика
Ответ на: комментарий от aidan

у меня похлеще костыль будет. вот кусочек:

if [ -z $(pidof kbdd) ]; then
	kbdd
else
	killall -9 kbdd
	kbdd
fi

funeralismatic ★★★
() автор топика
Ответ на: комментарий от olibjerd

офигеть! правда?

я имел в виду, как в старых-добрых арчвики

kbdd &
conky &
exec mywm
или костылями, как здесь или здесь?

funeralismatic ★★★
() автор топика
Ответ на: комментарий от funeralismatic

И? Вместо того, чтобы воспользоваться специальным инструментом, ты предпочитаешь ставить костыли?

anonymous
()
Ответ на: комментарий от funeralismatic

рестарчу вместе с иксами :)
находил приблуду на lua, которая не запускала если видела висящие процесс. но сильно она коряво работала, в 5 из 10 случаев осом зависал.

NeverLoved ★★★★★
()

.xinitrc

if [ `xrandr | grep "VGA1 connected" | wc -l` -eq 1 ]
  then
    xrandr --output VGA1 --mode 1280x1024 --output LVDS1 --off
    feh --bg-scale ~/.config/wallpaper/inu_1920x1536.jpg &
  else
    xrandr --output VGA1 --off --output LVDS1 --mode 1280x800
    xbacklight -set 100
    feh --bg-scale ~/.config/wallpaper/inu_1920x1200.jpg &
fi

+ бинд на ручную переключалку

aidan ★★★★
()
Ответ на: комментарий от funeralismatic

https://wiki.archlinux.org/index.php/Systemd/User

А вообще, удобная штука, можно сделать так, что бы при старте иксов, стартовали определенные приложения или демоны и наоборот - демоны, стартующие независимо от иксов, например mpd. И соответственно, при рестарте wm или иксов ничего не дублируется.

serkhay
()
Ответ на: комментарий от funeralismatic
$ cat .xinitrc
 
# Set keyboard layout
setxkbmap -layout us,ru -variant -option grp:lwin_toggle,terminate:ctrl_alt_bksp &

# Run wm 
exec dwm &

# Set background image
nitrogen --restore &

# Fix java apps
wmname LG3D &
unset AWT_TOOLKIT &

# Compositing(disable tearing)
compton --backend glx --refresh-rate 60 --vsync opengl &

# Power Manager
xfce4-power-manager &

# Hide mouse cursor
unclutter &

# Show system information
(conky -c ~/.config/dwm/conkyrc | while read LINE; do xsetroot -name "$LINE"; done)
ritsufag ★★★★★
()
Ответ на: комментарий от ananas

В оппосте не значилось что нужно запускать, было общее слово — программы.

Понятно, что если надо приложение контролировать после запуска то либо init скрипты, либо systemd.

Если надо, чтоб оно себя само контролировало, то supervisor, например.

Если надо запустить один раз при запуске компьютера\входа в систему, то ~/.config/autostart/ или /etc/xdg/autostart/

/thread

Winnerer
()
Ответ на: комментарий от Winnerer

В оппосте не значилось что нужно запускать, было общее слово — программы.

в оппосте вообще не было слова «программы». зато было слово «автостарт»

Если надо запустить один раз при запуске компьютера\входа в систему, то ~/.config/autostart/ или /etc/xdg/autostart/

не поверишь, но обрабатывать .desktop файлы в autostart не входит в задачи менеджера окон, за которые интересуется тс. и основной вопрос оппоста - не ЧТО запускать, а КАК запускать.

ananas ★★★★★
()

.xinitrc

#!/bin/sh

# merge system defaults and keymaps
##sysresources=/usr/lib/X11/xinit/.Xresources
##sysmodmap=/usr/lib/X11/xinit/.Xmodmap

# merge in defaults and keymaps
xrdb -merge $HOME/.Xresources
xmodmap $HOME/.Xmodmap

# start a message bus
if [ -x /usr/bin/dbus-launch ]; then
    LAUNCH="$LAUNCH dbus-launch"
fi

#crontab -e */10 * * * * /path/to/file > ~/x.log
#feh --bg-scale background.jpg &
xhost +localhost &
/usr/local/bin/background.tcl & 
setxkbmap ro,ru -variant cedilla, -option grp_led:scroll,grp:caps_toggle &
while true; do
   wtr=$(cat /tmp/weather.log)
   mbx=$(grep -Po "@.*\|" /tmp/mail.log)
   rfs=$(df -h | grep sda1 | awk '{print $4}' | sed s/G//g;)
   hfs=$(df -h | grep sda2 | awk '{print $4}' | sed s/G//g;)
   dfs=$(df -h | grep sda3 | awk '{print $4}' | sed s/G//g;)
   mem=$(free -m | awk '/buffers\/cache/ {print $3"/"$4}')
   vom=$(amixer get Master | tail -1 | sed 's/.*\[\([0-9]*%\)\].*/\1/') #'
   vof=$(amixer get Front | tail -1 | sed 's/.*\[\([0-9]*%\)\].*/\1/') #'
   xsetroot -name "$mbx $wtr | $mem | M:$vom F:$vof | $rfs:$hfs:$dfs | $(date +'%a %d %b %H:%M')"
   xset -dpms && xset s noblank && xset s off
   sleep 2s
done &
exec $LAUNCH /usr/local/bin/dwm
user@localhost $ crontab -l
*/10 * * * * /usr/local/bin/mailbox.tcl > /tmp/mail.log
*/10 * * * * /usr/local/bin/weather.tcl > /tmp/weather.log
*/10 * * * * DISPLAY=:0 /usr/local/bin/background.tcl

anonymous
()
Ответ на: комментарий от serkhay

ну не ставить же из-за этого systemd.

а с учётом, что есть rc, так вообще всё проще, чем.

funeralismatic ★★★
() автор топика
Ответ на: комментарий от funeralismatic

Стартуют приложения? Стартуют. Что ещё надо?

ritsufag ★★★★★
()
Ответ на: комментарий от funeralismatic

просто списком, или?

как в старых-добрых арчвики

q11q11 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.