„Aplikacje startowe” nie działają


9

Mam proste polecenie w jednym wierszu, które działa idealnie w terminalu, ale nie działa w aplikacji „Aplikacje startowe”.

Wiersz kodu to: xmodmap /home/seph/Code/Ubuntu\ Scripts/Xmodmap

Skopiowanie go z „Aplikacji startowych” i wklejenie go do terminala nie stanowi większego problemu, ale tak naprawdę nie rozumiem, dlaczego nie działa. Postępowałem zgodnie z instrukcjami innej osoby, aby to zrobić, więc może zrobiłem coś złego? W każdym razie, czy nie byłoby oczywistym i logicznym założeniem, że po prostu wpisuje to, co umieścisz w Terminalu?


To dokładnie ten sam problem, który miałem! +1
jedi

Odpowiedzi:


14

Polecenia, zwłaszcza te związane z ustawieniami klawiatury, myszy i touchpada lub polecenia xrandr, często wymagają pełnego załadowania pulpitu. Jeśli uruchomisz je po prostu podczas logowania (przy użyciu aplikacji startowych), często uruchamiają się zbyt wcześnie i psują się.

Dlatego musisz wbudować małą przerwę przed uruchomieniem polecenia. Zamiast tego użyj następującego polecenia, aby dodać do aplikacji startowych:

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

Chooes Dash> Aplikacje startowe> Dodaj i dodaj polecenie.

To powinno wystarczyć.


Tak myślałem. Zastanawiam się jednak, dlaczego opóźnienie jest potrzebne. X powinien być w pełni uruchomiony po zalogowaniu. Mam na myśli, że wiem, że jest ten problem, nie czytam go po raz pierwszy, po prostu zastanawiam się, dlaczego tak jest.
Kos

1
@kos Podejrzewam, że w pewnym momencie ustawienia lokalne są stosowane, zastępując polecenie przy uruchamianiu (ponieważ pojawiają się później).
Jacob Vlijm,

1
Ma sens. Spróbuję trochę to zbadać, jestem trochę ciekawy.
Kos

1
@kos ... W innych przypadkach jest to pulpit, który nie jest jeszcze gotowy. Pamiętam błąd w Dropbox, w którym ikona pojawiła się po lewej stronie (Jedność) panelu, można go naprawić tą samą sztuczką.
Jacob Vlijm,

1
to wiele wyjaśnia. Prawie każdy skrypt startowy, którego naprawdę potrzebowałem, miał coś wspólnego z naprawą klawiatury lub myszy. Dziwne wydaje mi się, że nie jest to przypadek użycia, który został zaplanowany w pobliżu.
Seph Reed,

0

Dodaj ten fragment kodu do .confpliku w ~/.config/upstart/:

start on startup
task
exec xmodmap /home/seph/Code/Ubuntu\ Scripts/Xmodmap

dodaj to gdzie? upstart to folder. Czy powinienem zrobić nowy plik? Jakie rozszerzenie powinno mieć?
Seph Reed,

do pliku conf w folderze. Zaktualizowałem swoją odpowiedź.
Tung Tran,

Próbowałem z tym, exec xrandr --output DP-1 --brightness 0.85ale nie przyniosło to efektu. czy to możliwe, że on startupjest za wcześnie? jakie zdarzenie oznacza, że ​​pulpit jedności jest gotowy?
Superole,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.