Я считаю, что программы автозапуска AwesomeWM лучше, когда все сделано хорошо
почему = если вы выходите из одной из ваших программ автозапуска *всегда" и хотите перезапустить их вы (а) перезапустить X [закрытие все в процессе], (б) перезапустить их из оболочки [выходные сообщения теперь перейти к этой оболочке], (В) создать специальный код повторного запуска в rc.lua [поверх кода запуска, который вы ввели .файла
Как = это хорошо работает для меня...
a) сразу после строк отладки в rc.lua добавлять...
local gears = { table = require( "gears.table" ) ,
p_call = require( "gears.protected_call" ) }
gears.p_call( dofile, path_this .. "runonce.lua" )
b) и вот часть "когда все сделано хорошо" (IMHO), которая находится в runonce.Луа...
local naughty = require( "naughty" )
local awful = { spawn = require( "awful.spawn" ) }
local string = { sub = string.sub ,
find = string.find ,
format = string.format }
-- This function makes sure the application is not restarted when awesome is reloaded
local function run_once( command )
local args_start = string.find( command, " " )
local pgrep_name = args_start and command:sub( 0, args_start - 1 ) or command
local command = "pgrep -u $USER -x " .. pgrep_name .. " > /dev/null || (" .. command .. ")"
awful.spawn.easy_async_with_shell(
command,
function( stdout, stderr, exitreason, exitcode )
if exitcode ~= 0 then
naughty.notify({
preset = naughty.config.presets.critical ,
text = string.format( "%s\n\n%s\n%s\n%s\n%s",
command,
stdout,
stderr,
exitreason,
exitcode ) })
end
end )
end
-- Start these if not already running
run_once( "guake &> /dev/null" )
run_once( "remmina -i &> /dev/null" )
run_once( "skypeforlinux" )
почему я считаю, что это сделано хорошо...
1) работает с программами, которые имеют параметры [ищет только имя, а не аргументы]
2) имеет предупреждение, если что-то пойдет не так [не убивая Awesome]
3) редактировать только нижнюю часть
наконец-то...
mod + ctrl + r перезагружает удивительный [ничего не меняется, просто сбрасывает memmory] и, конечно, приложения, которые вы всегда want запускаются точно так же, как и в первый раз