Ich glaube, dass AwesomeWM-Autorun-Programme besser sind, wenn sie gut gemacht werden
Warum = Wenn Sie eines Ihrer automatisch auszuführenden Programme beenden und sie neu starten möchten, starten Sie (a) X neu [schließen Sie alles im Prozess ab] (b) starten Sie sie erneut von einer Shell aus [Ausgabemeldungen gehen jetzt in diese Shell], (c) Erstellen Sie einen speziellen Re-Launch-Code in rc.lua [über dem Launch-Code, den Sie in .xinitrc eingegeben haben
How = Das funktioniert gut für mich ... a) Sobald die Debug-Zeilen in rc.lua hinzugefügt werden ...
local gears = { table = require( "gears.table" ), p_call = require( "gears.protected_call" ) } gears.p_call( dofile, path_this .. "runonce.lua" )
b) Und hier ist der Teil "Wenn gut gemacht" (IMHO), der in runonce.lua ist ...
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" )
Warum ich glaube, dass es gut gemacht wird ...
1) Funktioniert mit Programmen, die über Parameter verfügen [sucht nur nach dem Namen, nicht nach den Argumenten] 2) Benachrichtigung, wenn Probleme auftreten [ohne Awesome zu töten] 3) Nur den unteren Abschnitt bearbeiten
Schließlich ... mod + ctrl + r lädt fantastisch [nichts ändert sich wirklich, setzt Memmory nur zurück] und natürlich werden die Apps, die Sie immer wollen, genauso gestartet, wie sie das erste Mal waren