Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Autostart po zobudení resp. prečo sa pri uspaní zruší namapovanie klávesy  (Přečteno 1667 krát)

scd

  • Návštěvník
  • Příspěvků: 13
Dobrý deň,
mám na mojom kubuntu nastavené spustenie skriptu po spustení(skript je v zložke ~/.kde/Autostart). V skripte je vlastne len pomocou xmodmap namapovaná klavesa "super" na inú virtuálnu, aby som mohol na ňu mať nastavenú klávesovú skratku. Všetko funguje až na to, že keď notebook uspím, tak potom po zobudení to už nefunguje. Pravdepodobne pri uspaní sa tá klávesa "odmapuje". Chcem poprosiť o radu čo by sa stým dalo robiť. Napadá ma buď nejako zakázať to odmapovanie virtuálnej klávesy pri uspaní alebo niekde nastaviť, aby sa ten skript spustil znovu pri zobudení.
ďakujem za pomoc

Rover623

Asi bych řešení věděl, ale mohl by jsi sem poslat obsah toho skriptu a taky jak to spouštíš, předpokládám, že to máš vloženo do souboru a přidělený spustitelný příznak

scd

  • Návštěvník
  • Příspěvků: 13
obsah súboru
#! /bin/bash
xmodmap -e 'keycode 133=F13'

spúšta sa automaticky pri spustení = je v zložke Autostart(skúsil som aj env) a samozrejme má nastavený príznak na spustenie

Rover623

Zkus tohle
Kód: [Vybrat]
sudo gedit (v KDE asi není, tak jiný editor který používáš) /etc/pm/sleep.d/0000keymap.sh to by mělo vytvořit prázdný soubor, do něj vlož tohle
Kód: [Vybrat]
#!/bin/bash
case "$1" in
    thaw|resume)
        xmodmap -e 'keycode 133=F13'
        ;;
    *)
        ;;
esac
exit $?
ulož a přiděl spustitelný příznak
Kód: [Vybrat]
sudo chmod +x /etc/pm/sleep.d/0000keymap.sh kdyby to náhodou nefungovalo, zkus změnit pořadí startu. Koukni do toho adresáře, bude tam víc takových souborů s čísly na začátku, změň tedy ty "0000" na něco jako třeba "0099" tak aby to nekolidovalo s něčím co už tam je

scd

  • Návštěvník
  • Příspěvků: 13
OK, díky moc  ;)
neskôr vyskúšam a dám vedieť či funguje

scd

  • Návštěvník
  • Příspěvků: 13
Bohužial, vyzeralo to nádejne ale nefunguje to :(

prikladám zoznam súborov v zložke sleep.d :
file:///etc/pm/sleep.d/0000keymap.sh
file:///etc/pm/sleep.d/10_grub-common
file:///etc/pm/sleep.d/10_unattended-upgrades-hibernate
file:///etc/pm/sleep.d/novatel_3g_suspend

skript som skúšal aj premenovať napr. na 11_keymap.sh no nepomohlo, na poradí asi nezáleží, skúšal som aj do tych ostatných skriptov, kde bola podmienka thaw|resume) dopísať ten príkaz na premapovanie no ani to nefungovalo.
Podla mňa, ak sa ten príkaz vykonal(neviem ako by som to zistil/overil, skúšal som tam dať príkaz na vytvorenie textového súboru ">> ~/zobudil", aby som videl či sa to vykonalo no nevytvoril sa, ale neviem či som postupoval správne tak prosím o radu), tak potom asi ešte niečo, čo sa vykoná ešte následne za skriptami v sleep.d to premapovanie zruší.

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
protoze se to musi poustet pro Xka .. jako prislusnej user .. takze su -c a promennou DISPLAY= .. nejsem si jistej tedka, nutno vyzkouset, ale mozna ten DISPLAY primo v ramci toho su
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

scd

  • Návštěvník
  • Příspěvků: 13
Vďaka za rýchlu odpoveď ale akosi vám nerozumiem :(
mysleli ste takéto niečo?

Kód: [Vybrat]
#!/bin/bash
case "${1}" in
        thaw|resume)
        su -c
        DISPLAY=xmodmap -e 'keycode 133=F13'

esac
exit $?

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
ne, to nemyslim, myslim pomoci

su $jmeno_uzivatele -c 'DISPLAY=$hodnota_te_promenne $nejaky_prikaz'
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

scd

  • Návštěvník
  • Příspěvků: 13
Ja naozaj nerozumiem vašej odpovedi.
Načo mám prepínať užívateľa?
Prečo mám použiť premennú DISPLAY?
Aký to má súvis s premapovaním klávesy?
Ako by mal teda podľa vás vyzerať celý ten script?

Rover623

Co to zkusit spustit s časovou prodlevou, asi nějak takhle
Kód: [Vybrat]
#!/bin/bash
case "$1" in
    thaw|resume)
        sleep 10s
        xmodmap -e 'keycode 133=F13'
        ;;
    *)
        ;;
esac
exit $?

scd

  • Návštěvník
  • Příspěvků: 13
Dobrý nápad,
no nefunguje. Kazdopádne zistil som aspoň, že skript sa spustí.
Prebehlo to nasledovne:
uspal som PC
zobudil som PC
10s bola podsvietená čierna obrazovka (čiže vykonával sa onen skript)
potom nabehlo okno na zadanie hesla

Rover623

On má NTZ pravdu, musí se to vykonat nad úrovní X serveru, tedy až poté co naběhne grafika, problém mě v tom, že momentálně mě nenapadá jak to udělat

scd

  • Návštěvník
  • Příspěvků: 13
Vyriešené :) vďaka za pomoc
príkaz xmodmap treba použiť bez modifikátora -e
výsledný skript
Kód: [Vybrat]
#!/bin/bash

case "$1" in
    thaw|resume)
 xmodmap 'keycode 133=F13'
    ;;
    *)
    ;;
esac

exit

tu je pekne opísané niečo obdobné keby niekto potreboval
http://rebusdigitalis.blogspot.sk/2011/11/umlauts-for-us-keyboard.html

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
On má NTZ pravdu, musí se to vykonat nad úrovní X serveru, tedy až poté co naběhne grafika, problém mě v tom, že momentálně mě nenapadá jak to udělat
kdyz dam k sobe do tohodle souboru

Kód: [Vybrat]
sleep 10;
su $__me -c 'DISPLAY=:0 xeyes'

tak mi to samozrejme ty xeyes pusti pod mym uzivatelem kdyz se to probere
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
On má NTZ pravdu, musí se to vykonat nad úrovní X serveru, tedy až poté co naběhne grafika, problém mě v tom, že momentálně mě nenapadá jak to udělat
kdyz dam k sobe do tohodle souboru

Kód: [Vybrat]
sleep 10;
su $__me -c 'DISPLAY=:0 xeyes'

tak mi to samozrejme ty xeyes pusti pod mym uzivatelem kdyz se to probere

Jen ti to může zablokovat další resume skripty, v Ununtu to je typicky (mimo jiné) obnova připojení k síti, i když to máš s prioritou 00. Pokud to tedy nespustíš na pozadí pomocí &.

 

Provoz zaštiťuje spolek OpenAlt.