(記述例)
#!/bin/bash
xset m 20/10 4
function wm_check_and_start {
local cmd_line=( ${@} );
local proc_name=${cmd_line[0]};
if [ "${proc_name}" = "" ]; then
return;
fi
local is_installed=$(which ${proc_name} | wc -l);
if [ "${is_installed}" = "0" ]; then
wm_autostart_print "${proc_name} does not installed, skip starting.";
return;
fi
proc_num=`ps ax | grep ${proc_name} | grep -v grep | wc -l`;
if [ "${proc_num}" != "0" ]; then
wm_autostart_print "${proc_name} has already been started, skip .";
return;
fi
wm_autostart_print "start: ${cmd_line[@]}";
${cmd_line[@]} &
}
function wm_autostart_print {
echo "WindowMaker/autostart: $@";
}
wm_check_and_start xscreensaver -no-splash
wm_check_and_start asclock -geometry 64x64-0-0
wm_check_and_start /usr/bin/wmbiff
wm_check_and_start wmdocker
wm_check_and_start skypeforlinux
unset wm_check_and_start
unset wm_autostart_print