আমি কীভাবে আশ্চর্যজনকভাবে প্রারম্ভকালে আদেশগুলি সম্পাদন করতে পারি?


10

যদি দুর্দান্ত-উইন্ডো ম্যানেজার শুরু হয় তবে আমি লগইন করার পরে কিছু কমান্ড কার্যকর করতে চাই। কীভাবে আমি দুর্দান্ত-কনফিগারেশনে স্টার্টআপ-কমান্ড যুক্ত করতে পারি?

উত্তর:


9

এই আর্কলিনাক্স উইকি অনুসারে আপনার কেবল নিম্নলিখিতটি যুক্ত করতে হবে আপনার 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

@ ইকরাভের বক্তব্যটি গুরুত্বপূর্ণ।
জিওফ

উপরের উদাহরণে দুর্ঘটনাক্রমে যেমন গ্লোবাল টেবিলটি আপত্তিজনক ব্যবহার করা হলেও আপনি এটি সনাক্ত করতে পারবেন না can't দুর্দান্ত রিলোডলোড লুয়া ভিএম মুছে দেয়। পরিবর্তে উদাহরণস্বরূপ "pgrep ফায়ারফক্স || ফায়ারফক্স" চালানোর মতো কিছু করুন।
ননচিপ

বা উইকির পরামর্শ অনুসারে এটি করুন, যেহেতু এটি ঠিক হয়ে গেছে বলে মনে হচ্ছে (এবং উপরের ভাঙা কোডটি সরানো হয়েছে)
-18 এ ননচিপ করুন

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

এরপরেও কিছু অটোস্টার্ট আইটেম রয়েছে:

$ 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

জট্টিল উইকি প্রস্তাব দেওয়া এই ভাবে যে যখন জট্টিল পুনরায় লোড কাজ করবে।

এটি রানওনস.লুয়ায় রাখুন

-- @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")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.