«Startup Applications» не работает

8

У меня есть простая однострочная команда, которая прекрасно работает в терминале, но не работает в приложении «Автозагрузка приложений».

Строка кода: xmodmap /home/seph/Code/Ubuntu\ Scripts/Xmodmap

Нетрудно скопировать его из «Startup Applications» и вставить в терминал, но я не понимаю, почему он не работает. Я следовал чьим-то инструкциям, чтобы сделать это в первую очередь, так что, может быть, я сделал что-то не так? В любом случае, разве не было бы очевидным и логичным предположением, что он просто печатает все, что вы помещаете в терминал?

Сеф Рид
источник
Это точно та же проблема, что у меня была! +1
джедай

Ответы:

13

Команды, особенно связанные с настройками клавиатуры, мыши и сенсорной панели или командами xrandr, часто требуют полной загрузки рабочего стола. Если вы запускаете их просто при входе в систему (с помощью приложений запуска), они часто запускаются слишком рано и ломаются.

Таким образом, вам нужно сделать небольшой перерыв перед запуском команды. Вместо этого используйте следующую команду для добавления в автозагрузку приложений:

/bin/bash -c "sleep 15 && xmodmap /home/seph/Code/Ubuntu\ Scripts/Xmodmap"

Выбираем Dash> Startup Applications> Add и добавляем команду.

Это должно делать свое дело.

Якоб Влейм
источник
Это то, о чем я думал. Интересно, почему задержка необходима, хотя? X должен быть полностью запущен при входе в систему. Я имею в виду, я знаю, что есть эта проблема, это не первый раз, когда о ней читают, я просто удивляюсь, почему это так.
Кос
1
@kos Я подозреваю, что в определенный момент локальные настройки применяются, отменяя команду при запуске (так как они появляются позже).
Джейкоб Влейм
1
Имеет смысл. Я постараюсь немного изучить это, мне немного любопытно.
Кос
1
@kos ... В других случаях, это рабочий стол, будучи еще не готов. Я помню ошибку в Dropbox, где иконка, появляющаяся на левой стороне (Unity) панели, могла быть исправлена ​​тем же трюком.
Джейкоб Влейм
1
это многое объясняет. Почти каждый скрипт запуска, в котором я действительно нуждался, имел отношение к ремонту клавиатуры или мыши. Мне кажется странным, что это не тот случай использования, который был запланирован.
Сеф Рид
0

Добавьте этот фрагмент кода в .confфайл в ~/.config/upstart/:

start on startup
task
exec xmodmap /home/seph/Code/Ubuntu\ Scripts/Xmodmap
Тун Чан
источник
добавить это где? выскочка это папка. Должен ли я сделать новый файл? Какое расширение должно иметь?
Сеф Рид
в файл conf в папке. Я обновил свой ответ.
Tung Tran
Я попробовал это с, exec xrandr --output DP-1 --brightness 0.85но это не имело никакого эффекта. может ли это быть on startupслишком рано? какое событие означает, что рабочий стол Unity готов?
Superole