Skip to content

Awesome DM. Один конфиг и разный автозапуск на разных машинах. И ещё немного conky :)

Так вышло, что у меня конфиги софта на рабочем и домашней пеке - идентичны. Это удобно, всё синкается. Изменив что-то на рабочем пеке и придя домой - попадаешь на идентичное рабочее место.

Но у каждой машины есть свои особенности, которые нужно учитывать в конфигах. Например conky рисует графики для двух процессоров на рабочей машине, а дома всего один процессор.

Ещё - дома не нужно в автозапуске всё то что есть на работе.

Поскольку везде вокруг меня не винда - я сделал себе заебись. В винде пришось бы делать дофига телодвижений. :)

В conky всё вышло безболезненно, там в конфиге просто было нужно было сотворить конструкцию вида:

some code
${if_match "$nodename" == "homepc"}
some individual code #1
${endif}
${if_match "$nodename" == "workpc"}
some individual code #2
${endif}

А вот в Awesome пришлось повозиться, но решение было найдено. Так как конфиги авесома написаны на Lua, то найти способ получения хостнейма - не проблема.

Вот что вышло:

function getHostname()
    local f = io.popen ("/bin/hostname")
    local hostname = f:read("*a") or ""
    f:close()
    hostname =string.gsub(hostname, "\n$", "")
    return hostname
end

hostname = getHostname()

if hostname == "homepc" then
        run_once("conky")
        run_once("psi")
        run_once("claws-mail")
        run_once("/opt/google/chrome/chrome")
elseif hostname == "workpc" then
        run_once("xscreensaver -no-splash")
        awful.util.spawn_with_shell("xrandr --output VGA1 --mode 1920x1080 --right-of HDMI1")
        run_once("conky")
        run_once("psi")
        run_once("skype")
        run_once("iceweasel")
        run_once("claws-mail")
        run_once("/opt/google/chrome/chrome")
        run_once("/usr/bin/python","/usr/bin/nagstamon")
else
        run_once("conky")
end

 

Leave a Reply

Your email address will not be published. Required fields are marked *

π