Почему моя команда xprop не работает при входе в систему, если я запускаю ее из ~/.profile?

Я бегу Lubuntu 16.04. Он использует openbox в качестве оконного менеджера. Я хотел настроить виртуальные рабочие столы, чтобы они располагались в виде сетки, а не линии, что я могу сделать, выполнив эту команду:

xprop -root -f _NET_DESKTOP_LAYOUT 32cccc -set _NET_DESKTOP_LAYOUT 0,3,2,0

Это прекрасно работает при запуске вручную. Так что я положил эту команду в моем ~/.profile, надеясь, что это будет выполняться при каждом входе в систему.

Но это не так.:( Lubuntu загружается, я вхожу в систему, и пейджер все еще находится в одной строке. Мне нужно вручную запустить эту команду, чтобы вернуть макет рабочего стола.

.profile выполняется, когда я вхожу в систему. Я могу сказать это, потому что сделанные в нем корректировки PATHS оказывают влияние.

  1. Почему это работает, когда работает в терминале, но не из.profile? (Я даже сделал source ~/.profile вместо того, чтобы вводить / копировать команду, чтобы убедиться, что она верна в файле)
  2. Где находится соответствующий файл для размещения такой команды, чтобы он выполнялся правильно?

В поисках любых последующих команд 'xprop', которые могли бы переопределить его, я запустил

grep -r xprop  .

и нашел ссылку на ошибку xprop в файле run.log, Журнал создается в каждом журнале:

pod@lubuntu-vm:~$ grep -C3 xprop  ~/.cache/lxsession/Lubuntu/run.log 
** Message: utils.vala:79: Config system location : /etc/xdg/lxsession/Lubuntu
** Message: utils.vala:85: System system path location : /etc/xdg/lxsession/Lubuntu/conffiles.conf
** Message: utils.vala:89: Final file used : /etc/xdg/lxsession/Lubuntu/conffiles.conf
xprop:  no such property "_NET_NUMBER_OF_DESKTOPS"
xprop:  no such property "_NET_DESKTOP_NAMES"
** Message: options.vala:164: Activate xsettings_manager build-in
** Message: utils.vala:68: User config used : /home/pod/.config/lxsession/Lubuntu/desktop.conf
** Message: utils.vala:89: Final file used : /home/pod/.config/lxsession/Lubuntu/desktop.conf

Но это единственная ссылка, и это не то же свойство, которое я пытаюсь настроить.

1 ответ

Решение

Проблема

Как я уже упоминал в комментариях, проблема заключается в сроках. (команды to-) Конфигурирование рабочих столов обычно является чем-то, что сломается, если рабочий стол не готов к этому, и ваша команда просто не достигает цели. Это часто происходит, например, при выполнении команд по настройке мониторов, клавиатуры и мыши.

Решать

Чтобы решить эту проблему, вам нужно добавить небольшой перерыв перед запуском команды. Я не запускаю Lubuntu, но согласно этому посту, вы должны иметь возможность добавить команду для запуска (войти в систему) здесь: меню "Пуск" → "Настройки" → "Приложения по умолчанию для LXSession" → "Автозапуск". Команда добавить небольшой перерыв:

/bin/bash -c "sleep 5 && xprop -root -f _NET_DESKTOP_LAYOUT 32cccc -set _NET_DESKTOP_LAYOUT 0,3,2,0"

Кроме того, (проверено вами:)), вы можете добавить его в ~/.profileи добавить & чтобы он работал в фоновом режиме и не задерживал процесс входа в систему.

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