मैं भयानक में स्टार्टअप पर कमांड कैसे निष्पादित कर सकता हूं?


10

मैं लॉगिन करने के बाद कुछ कमांड निष्पादित करना चाहता हूं अगर भयानक-विंडोमैन शुरू होता है। मैं भयानक-विन्यास में स्टार्टअप-कमांड कैसे जोड़ सकता हूं?

जवाबों:


9

इस ArchLinux विकी के अनुसार आपको बस निम्नलिखित को अपने साथ जोड़ना होगा 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

विकी उसी प्रभाव को प्राप्त करने के लिए कुछ अन्य तरीके भी दिखाता है।


5
क्या होता है जब आप भयानक पुनः लोड करते हैं? क्या ऑटोरुन को बाद में कॉन्फ़िगरेशन में गलत सेट किया गया है?
अक्टूबर को lkraav

@ इकरव की बात महत्वपूर्ण है।
ज्योफ

आप वास्तव में इसका पता नहीं लगा सकते हैं, तब भी जब ग्लोबल्स तालिका का दुरुपयोग किया जाता है, जैसे कि ऊपर के उदाहरण में यह दुर्घटना से हुआ है। भयानक पुनः लोड लुआ वीएम पोंछे। इसके बजाय "pgrep फ़ायरफ़ॉक्स || फ़ायरफ़ॉक्स" चलाने के लिए कुछ करें।
नॉनचिप

या वास्तव में इसे वैकी की तरह ही पता चलता है, क्योंकि यह तय हो गया लगता है (और हटाए गए टूटे हुए कोड)
nonchip

8

मैं डेक्स के साथ जा रहा हूं , अब तक।

$ cat /etc/X11/Sessions/awesome 
#!/bin/sh
# Awesome Xsession starter, based on Xsession shipped by x11-apps/xinit-1.0.5-r1
...
zenity --title "Autostart" --timeout=30 --question --text="Launch autostart items?" && dex -a
exec ck-launch-session /usr/bin/awesome

चलो कुछ autostart आइटम भी तो:

$ ls -1 ~/.config/autostart/
gol.desktop
KeePass 2.desktop
skype-skype.desktop
tomboy.desktop
wpa_gui-wpa_supplicant.desktop
xterm-logs.desktop

उदाहरण ऑटोस्टार्ट आइटम:

$ 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

बहुत बढ़िया विकी पता चलता है इस तरह से है कि जब बहुत बढ़िया पुन: लोड काम करेंगे।

इसे 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

इसे इस तरह से उपयोग करें:

local r = require("runonce")

r.run("urxvtd -q -o -f")
r.run("urxvtc")
r.run("urxvtc")
r.run("wmname LG3D")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.