LINUX.ORG.RU

Awesome и переменные окружения

 


0

1

Почему в конфиге не работают переменные окружения ($HOME ~/)?
Я не програмист, но конфигов разных повидал на своём веку немало, и первый раз встречаюсь с таким, что переменные окружения не работают.

Как создать в конфиге Осома такую переменную, что бы она была переносимая, т.е. при переносе с компа на комп подхватывалась автоматически, не требуя прописывать вручную для каждого пользователя?

Разобрался. Мой вопрос был вызван тем, что не хотел работать scrot (скриншотер), в том случае, когда путь указан посредством переменых окружения, таких как $HOME и ~/.
Пытался сделать с помощью функции awful.util.spawn

awful.key({ }, "Print", function () awful.util.spawn (scrot ~/scrns/scrn%Y_%m_%d-%H%M%S.png) end),

Первое решение, которое пришло в голову - установить переменную, в которой прописать путь, и подставлять её при необходимости. Выглядит это так:

-- секция объявления переменных
home_path	= "/home/user/" -- домашний каталог пользователя
scrot		= "scrot " .. home_path ..  "scrns/scrn%Y_%m_%d-%H%M%S.png"

...
-- секция горячих клавиш
awful.key({ }, "Print", function () awful.util.spawn (scrot) end),

В последствии обнаружил, что есть функция awful.util.spawn_with_shell, которая понимает переменные окружения:

awful.key({ }, "Print", function () awful.util.spawn_with_shell (scrot ~/scrns/scrn%Y_%m_%d-%H%M%S.png) end),
Работает. Решено.

Dreamdrawer ()