Что такое & ldquo; ~ & rdquo; (домашний каталог), определенный как для программ, запущенных до входа в систему, используя LightDM?

Я выполняю команду при загрузке перед входом в систему, добавив ее в мой

/etc/lightdm/lightdm.conf.d/50-ubuntu.conf

файл в [SeatDefaults].

Программа выполняется, но не может найти нужный файл в моем домашнем каталоге, что имеет смысл, поскольку он не знает, в какую домашнюю директорию искать.

Итак, где я могу поместить файл, чтобы скрипт смог его найти? Каково значение ~, когда программа запущена?

Это переформулировка клиента Start Synergy с SSL перед входом в систему Ubuntu 16.04 LTS, в надежде, что этот вопрос будет легче ответить.

0
задан 24 September 2017 в 21:03

3 ответа

Было бы проще просто указать абсолютный путь (используя для этого условных символов, таких как ~).

Вместо объявления местоположения как ~/path/to/program.sh сделайте его /home/username/path/to/program/sh .

Редактировать. Если у вас нет возможности изменить определенный путь, по умолчанию ~ находится /root. Вы можете перенести свой скрипт на этот путь с помощью

sudo mv ~/path/to/program.sh /root/
1
ответ дан 22 May 2018 в 18:09
  • 1
    Я сам не определяю этот путь, но запускаю часть программного обеспечения, которая ищет его настройки в домашнем каталоге, так что это не сработает. Могу ли я изменить свой вопрос, чтобы сделать это более ясным? – Atnas 24 September 2017 в 21:02
  • 2
    Ah хорошо, это скорее всего /root (не /home/root - значение по-умолчанию отличается для учетной записи root) - как вы можете убедиться сами, запустив echo $HOME как root – cygnus_x1 24 September 2017 в 21:06
  • 3
    @Atnas Конечно, вы можете изменить свой вопрос , пожалуйста, сделайте это! – dessert 24 September 2017 в 21:13
  • 4
    Я буду тестировать это на своей машине завтра и принять ответ, если он будет работать. – Atnas 24 September 2017 в 21:45

Было бы проще просто указать абсолютный путь (используя для этого условных символов, таких как ~).

Вместо объявления местоположения как ~/path/to/program.sh сделайте его /home/username/path/to/program/sh .

Редактировать. Если у вас нет возможности изменить определенный путь, по умолчанию ~ находится /root. Вы можете перенести свой скрипт на этот путь с помощью

sudo mv ~/path/to/program.sh /root/
1
ответ дан 18 July 2018 в 06:17

Было бы проще просто указать абсолютный путь (используя для этого условных символов, таких как ~).

Вместо объявления местоположения как ~/path/to/program.sh сделайте его /home/username/path/to/program/sh .

Редактировать. Если у вас нет возможности изменить определенный путь, по умолчанию ~ находится /root. Вы можете перенести свой скрипт на этот путь с помощью

sudo mv ~/path/to/program.sh /root/
1
ответ дан 24 July 2018 в 18:34

Другие вопросы по тегам:

Похожие вопросы: