Wie kann ich beim Start Befehle in awesome ausführen?
11961
Mnementh
Ich möchte nach dem Login einige Befehle ausführen, wenn awesome-windowmanager gestartet wird. Wie kann ich der awesome-config Startbefehle hinzufügen?
3 Antworten auf die Frage
9
heavyd
According to this ArchLinux wiki you should just need to add the following to your rc.lua:
-- Autorun programs autorun = true autorunApps = { "swiftfox", "mutt", "consonance", "linux-fetion", "weechat-curses", } if autorun then for app = 1, #autorunApps do awful.util.spawn(autorunApps[app]) end end
The wiki also show a couple of other ways to achieve the same effect.
Was passiert, wenn Sie fantastisch nachladen? Ist Autorun später in der Konfiguration auf false gesetzt?
lkraav vor 13 Jahren
5
@ Ikraav's Punkt ist wichtig.
Geoff vor 12 Jahren
0
Sie können dies nicht wirklich erkennen, selbst wenn Sie die Globals-Tabelle missbrauchen, wie dies im obigen Beispiel aus Versehen der Fall ist. super reload wischt die lua vm ab. Führen Sie stattdessen beispielsweise "pgrep firefox || firefox" aus.
nonchip vor 6 Jahren
0
oder mache es tatsächlich so, wie es das Wiki vorschlägt, da es scheinbar behoben wurde (und der fehlerhafte Code oben entfernt wurde)
nonchip vor 6 Jahren
0
$ cat ~/.config/autostart/gol.desktop [Desktop Entry] Type=Application Terminal=false Name=Growl For Linux Comment=Growl Desktop Notification System For Linux Categories=GNOME;GTK;Utility; Exec=/usr/bin/gol Icon=/usr/share/growl-for-linux/data/icon.png X-GNOME-Autostart-enabled=true X-KDE-autostart-after=panel X-Desktop-File-Install-Version=0.18
4
Anko
Das Awesome-Wiki schlägt diesen Weg vor, der beim Nachladen von Awesome funktionieren wird.
Setzen Sie dies in runonce.lua
-- @author Peter J. Kranz (Absurd-Mind, peter@myref.net) -- Any questions, criticism or praise just drop me an email local M = {} -- get the current Pid of awesome local function getCurrentPid() -- get awesome pid from pgrep local fpid = io.popen("pgrep -u " .. os.getenv("USER") .. " -o awesome") local pid = fpid:read("*n") fpid:close() -- sanity check if pid == nil then return -1 end return pid end local function getOldPid(filename) -- open file local pidFile = io.open(filename) if pidFile == nil then return -1 end -- read number local pid = pidFile:read("*n") pidFile:close() -- sanity check if pid <= 0 then return -1 end return pid; end local function writePid(filename, pid) local pidFile = io.open(filename, "w+") pidFile:write(pid) pidFile:close() end local function shallExecute(oldPid, newPid) -- simple check if equivalent if oldPid == newPid then return false end return true end local function getPidFile() local host = io.lines("/proc/sys/kernel/hostname")() return awful.util.getdir("cache") .. "/awesome." .. host .. ".pid" end -- run Once per real awesome start (config reload works) -- does not cover "pkill awesome && awesome" function M.run(shellCommand) -- check and Execute if shallExecute(M.oldPid, M.currentPid) then awful.util.spawn_with_shell(shellCommand) end end M.pidFile = getPidFile() M.oldPid = getOldPid(M.pidFile) M.currentPid = getCurrentPid() writePid(M.pidFile, M.currentPid) return M
Verwenden Sie es so:
local r = require("runonce") r.run("urxvtd -q -o -f") r.run("urxvtc") r.run("urxvtc") r.run("wmname LG3D")