Сценарии изменений dconf

Я написал простой скрипт для наших машин с Ubuntu в колледже, который устанавливает некоторые переопределения dconf для установки темы, фона и т. Д. Однако я не могу заставить его правильно установить фон экрана входа в систему.

Раздел сценария для этой цели:

#Set login background and remove dots
echo "Setting lightdm dconf settings"
xhost +SI:localuser:lightdm
su lightdm -c "gsettings set com.canonical.unity-greeter background '/background.png'"
su lightdm -c "gsettings set com.canonical.unity-greeter draw-grid false"

Эти же команды работают, если они вводятся непосредственно в терминал, который зарегистрирован как пользователь lightdm, например:

sudo su lightdm -s /bin/bash
gsettings set com.canonical.unity-greeter background '/background.png'
gsettings set com.canonical.unity-greeter draw-grid false

Устанавливает обои отлично

Есть идеи, почему команды работают, а не сценарий?

Спасибо

1
задан 9 May 2016 в 20:26

1 ответ

Вот то, как я решил его, вместо того, чтобы выполнить "sudo удар" или в Вашем случае, работающем "sudo-c" (который или делает Вашей паузой сценария при изменении пользователя или просто не работает), я запускаю три маленьких скрипта.

(Не забывают делать каждый исполняемый файл сценариев с "chmod +x script_name.sh")

Первый сценарий является моим install.sh:

sudo cp third_script.sh /tmp         # Copy third_script to tmp for easier access
sudo chmod 0755 /tmp/third_script.sh # This needs to be executable by lightdm
sudo bash second_script.sh           # Runs next file
sudo rm /tmp/third_script.sh         # Now we can remove the third script

Затем в second_script.sh я добавляю lightdm к xhost и выполняю третий файл сценария как lightdm-пользователь:

#!/bin/bash
echo "$USER"                         # To see if root is running the script
xhost +SI:localuser:lightdm
su lightdm -s /tmp/third_script.sh

И third_script то, где волшебство происходит:

#!/bin/bash
echo "$USER"                         # To see if lightdm is running the script
gsettings set com.canonical.unity-greeter background '/background.png'
gsettings set com.canonical.unity-greeter draw-grid false

Это работает на меня! Сообщите мне, существует ли какой-либо более легкий путь.

0
ответ дан 10 May 2016 в 06:26
  • 1
    Нет... Все еще установка Kodi 17.3 Это может быть на канале программного обеспечения по умолчанию. Эта целая вещь работала бы, если бы я отключил канал программного обеспечения, который шел с моей lubuntu установкой? – Tom Hancock 22 October 2017 в 10:25

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

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