Chci spustit skript, který změní mapování mé klávesnice ze spouštěcích aplikací. Skript je v mé domovské složce a má oprávnění 755.
Vytvořil jsem novou položku v Systém -> Předvolby -> Spouštěcí aplikace a vyzkoušel jsem následující příkazy:
/bin/bash /home/myuser/myscript.sh
/sbin/sh /home/myuser/myscript.sh
/home/myuser/myscript.sh
Žádný z nich nefungoval. Stejné příkazy fungují dobře, když je spouštím z terminálu ručně.
Znám další způsoby, jak spustit skript při spuštění, ale chci vědět, proč mi tato metoda nefunguje.
Přijatá odpověď:
Spouštěcí skripty související s nastavením klávesnice nebo touchpadu nebo obsahující wmctrl
nebo xrandr
příkazy často potřebují „malou přestávku“ před spuštěním. Pokud běží příliš brzy, než se plocha plně načte, buď se rozbijí, nebo „minou svůj cíl“.
Chcete-li to vyřešit, musíte přidat:
/bin/bash -c "sleep 10 && /home/myuser/myscript.sh"
ke spouštěcím aplikacím. Možná si budete muset trochu pohrát s sleep 10
hodnotu optimalizovat.
Poznámka
Pravděpodobně skript obsahuje pouze jeden nebo dva příkazy, mohli byste zahrňte je do spouštěcího příkazu se stejnou syntaxí. Tímto způsobem nepotřebujete samostatný skript.