abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 0
dnes 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 5
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 31
včera 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 9
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 17
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 5
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 774 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Změna promptu bash podle aktivního layoutu klávesnice

11.7.2013 15:01 ikarr
Změna promptu bash podle aktivního layoutu klávesnice
Přečteno: 550×
Nějak jsem se zasekl na $SUBJ

Nemáte někdo řešení nebo nápad, jak by se dala indikace rozložení klávesnice v promptu řešit?

Řešení dotazu:


Odpovědi

rADOn avatar 11.7.2013 16:12 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
PS1="$(setxkbmap -query | tail -n1 | cut -c13-) \w \$"
Ale bude to chodit jen na localhostu.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
11.7.2013 16:47 ikarr
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Ano, já to potřebuji jen na localhostu.

setxkbmap -query jsem zkoušel ještě než jsem zadal dotaz, ale bohužel je mi k ničemu, neboť mi to dá stejný výstup pro oba layouty. Ono já totiž (vtipně) nepřepínám layouty ale třetí a čtvrtý level. V definici cz mám přidáno toto:
partial alphanumeric_keys
xkb_symbols "ikarr" {
  include "latin"

  Name[Group1] = "US/ASCII";
  Name[Group2] = "Czech (programmers)";

  key TLDE> { [ grave, asciitilde, dead_diaeresis, dead_abovering ], [ dead_diaeresis, dead_abovering, grave, asciitilde ] };
  key AE01> { [ 1, exclam, plus, exclam                           ], [ plus, exclam, 1, exclam ] };
  key AE02> { [ 2, at, ecaron, at                                 ], [ ecaron, at, 2, at ] };
  key AE03> { [ 3, numbersign, scaron, numbersign                 ], [ scaron, numbersign, 3, numbersign ] };
  key AE04> { [ 4, dollar, ccaron, dollar                         ], [ ccaron, dollar, 4, dollar ] };
  key AE05> { [ 5, percent, rcaron, percent                       ], [ rcaron, percent, 5, percent ] };
  key AE06> { [ 6, asciicircum, zcaron, asciicircum               ], [ zcaron, asciicircum, 6, asciicircum ] };
  key AE07> { [ 7, ampersand, yacute, ampersand                   ], [ yacute, ampersand, 7, ampersand, yacute ] };
  key AE08> { [ 8, asterisk, aacute, asterisk                     ], [ aacute, asterisk, 8, asterisk ] };
  key AE09> { [ 9, parenleft, iacute, parenleft                   ], [ iacute, parenleft, 9, parenleft ] };
  key AE10> { [ 0, parenright, eacute, parenright                 ], [ eacute, parenright, 0, parenright ] };
  key AE12> { [ equal, plus, dead_acute, dead_caron               ], [ dead_acute, dead_caron, equal, plus ] };
  key SPCE> { [ space, nobreakspace, space, nobreakspace          ], [ space, nobreakspace, space, nobreakspace ] };
};
a češtinu přepínám takto, viz options:
$ setxkbmap -query
rules:      evdev
model:      pc
layout:     cz_ikarr(ikarr)
options:    grp:shifts_toggle,lv3:rwin_switch
Takže setxkbmap nee. Ale pokud by se nějaký trigger dal dát přímo do definice klávesnice, není problém.
11.7.2013 16:52 ikarr
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
vlastně, co to kecám, shiftama přepínám Group1 (ASCII) a Group2 (čeština). Takže pro upřesnění - nepotřebuji indikaci layoutu ale indikaci grupy. Omlouvám se za nepřesnost v dotazu.
Řešení 1× (Vojtěch Horký)
12.7.2013 12:29 ikarr
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Vyřešeno.

V ~/.bashrc jsem do definice promptu PS1 přidal toto:
\`/usr/bin/xset -q|grep -q \"Group 2:     on\" && echo °\`
Zobrazí to kroužek v případě, že mám přepnuto do české klávesnice. Nakonec jsem tedy našel utilitu, která dokáže zobrazit aktuální stav zvolené klávesové skupiny. Čekal bych to tedy spíše někde u nějakého xkb... Google nepomohl, všiml jsem si toho náhodou ve výpisu xset -q, když jsem rezignoval a nainstaloval indikaci klávesnice ledkou scrolllocku (grp_led:scroll).

(povzdech)Safra, to už tady nejsou žádní linuxáci, kteří si dovedou upravit linux ke své potřebě? To už všichni jenom zkoušejí, která distribuce jim lépe padne do ruky a jestli se jim lépe kliká ve Fedoře nebo v Kubuntu?(konec povzdechu)
12.7.2013 13:11 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
(povzdech)

Spíš už není tolik linuxáků jsoucích za krásného letního počasí zavřených v klimatizovaných sklepích se zatemněnými okny a dychtivně čekajících na nějakou prkotinu co mohou pro někoho vyřešit. Je léto čéče, na "indikaci layoutu-vlastně-grupy klávesnice" se ti každý vyflákne, jsou lepší věci na práci, čest výjimkám. Zkus přijít s nějakým pořádným problémem, bude lepší odezva ;)
12.7.2013 13:21 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Jinak ale to řešení je docela dobré, skoro bych měl chuť ho také použít, ale vadí mi taková ta drobnost, že to zobrazení není aktuální a tedy nemusí ukazovat reálný stav, ale opak, na rozdíl od vlaječky v GUI.
12.7.2013 13:44 ikarr
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Ashi, asi máš pravdu. Dneska praví programátoři neřeší prkotiny ale důležité věci: celé týmy špičkových programátorů se zabývají přesunutím vyhledávacího okna v menu Firefoxu zprava do leva a zase zpět, zatímco jiný tým prvotřídních grafiků zase řeší počet bodlinek na kožichu pandy v jeho ikonce.

Leta se několikrát denně vztekám, když zadávám v terminálu heslo na server a vždy mám jako na potvoru locknutou češtinu. Ikonu v GUI jsem kdysi měl, ale moc to nepomáhalo, protože jsem byl líný lítat očima po monitoru a zkoumat ikony. Od doby, kdy jsem opustil GNOME a s úlevou začal používat dwm mne nějaké ikony v GUI nezajímají. Díky maníkům, kteří vyvíjejí Gnome 3 jsem poznal sílu tiling wm.

Zatím se mi tahle indikace v příkazovém řádku docela líbí, uvidíme po pár týdnech. Samozřejmě to, co zmiňuješ, je skvrnka na kráse, člověk musí kliknout enter, aby měl jistotu, že je indikátor aktuální. V tom je grp_led:scroll lepší. Jak říkám, uvidíme.

Docela by mne zajímalo, jestli někdo, kdo není z těch moderních špičkových programátorů, nemá třeba nějaký lepší nápad, jak indikaci stavu klávesnice řešit/zlepšit.
Řešení 1× (iKoulee)
rADOn avatar 12.7.2013 16:48 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Podceňuješ linuxáky :-) Pokud se "leta několikrát denně vztekáš" tak si prostě rozchoď ssh agenta. Nejenom že se nebudeš muset vztekat, ale nebudeš muset heslo vůbec řešit.

Celé tohle řešení s PS1 má ještě jednu docela velkou vadu na kráse: každý prompt musí forknout podproces. Pokud je mašina nemůže forknout nový proces nebo pro něj nemá paměť, tak se od terminálu efektivně odřízneš. Obvykle v situaci kdy zrovna potřebuješ killnout proces který ten bordel způsobil.

IMO skutečně košer řešení by bylo zaháčkovat si mechanismus změny velikosti terminálu. Je to koneckonců taky předávání informací z grafického prostředí do shellu. xterm by při změně rozložení poslal shellu SIGWINCH, shell by si přes ioctl převzal rozložení spolu s $COLUMNS a $ROWS a uložil by to do nějaké další proměnné. Ta by se pak dala i předávat po ssh. Ale to je jen myšlenkový experiment, rozchoď agenta a nebudeš mít důvod se s tím drbat.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
12.7.2013 20:01 ikarr
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Mám radost, že se tu trošku diskutuje i něco jiného, než jestli se Seth měl zabít raději na kole nebo na mopedu (442 komentářů) i když je to léto.

ssh agent samozřejmě používám, ale ne úplně všude a hlavně jsem vůbec neřešil heslo při loginu ale při su, a tam mi ssh agent moc nepomůže. Co se týče extra procesu, tak to je nula nula nic - prompt se vykonává opravdu s nicotnou četností oproti jiným procesům. Ale samozřejmě, líbilo by se mi, kdyby přepnutí klávesnicové grupy emitovalo nějakou proměnnou nebo cosi, co by se dalo zobrazit promptem nebo nějakým jiným indikátorem. Hledal jsem něco takového v /sys, ale nic jsem nenašel. Nějaký flag, který by stačilo jen přečíst...
rADOn avatar 15.7.2013 11:56 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Co se týče extra procesu, tak to je nula nula nic - prompt se vykonává opravdu s nicotnou četností oproti jiným procesům.
"četnost" je relativní, prompt je možná všech 0.00nic% procesů, ale je to 100% procesů které potřebuješ. A už se mi stalo že jsem čuměl na mrtvou mašinu, na obrazovce pid pachatele a není kam napsat kill protože shell čeká v tlačenici na swapu kvůli nějaký grafický kravině. Fakt zážitek k popukání. Od tý doby jsem na PS1 háklivej :-)
Hledal jsem něco takového v /sys, ale nic jsem nenašel.
A ani nenajdeš. To je záležitost userpsace a kernel do toho nemá co kecat. Můžeš patchnnout proces přepínače klávesnice tak aby to někam zapisoval, ale to už je jednodušší zavolat si ten xset. Obojí je hnusnej ohák – je to z principu jen grafický efekt, takže by se to mělo řešit v grafice. Třeba si patchnout xterm aby ukazoval rozložení v okně nebo aby si svoje rozložení vynutil.

"2^24 comments ought to be enough for anyone" -- CmdrTaco
12.7.2013 19:23 mhepp
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Co takhle použít rozložení klávesnice, které Ti umožní psát češtinu bez přepínání?

Zkus si vyhledat zde na abclinuxu VOK nebo VOGO a vyzkoušej. Používám a jsem velmi spokojený...
12.7.2013 20:12 ikarr
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Podívám se, ale právě klávesnice, kterou jsem si sám vytvořil mi vyhovuje nejvíce. Naprostou většinu dne používám anglickou a případný český znak mohu vložit pomocí rwin. Někdy ovšem odpovídám na email česky, locknu si českou grupu a když se vrátím k práci tak sakruju :-)

A to je v dnešním xorg definice klávesnice podstatně jednodušší než byla před léty. Děsím se vajlandu, že nepůjde nastavit vůbc nic. Viz peklo se systemd, kde někdy nefunguje ani ctrl-alt-del.
15.7.2013 12:03 potato
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Klávesnici (vlastní definice) přepínám dvěma shifty při psaní jednoho řádku klidně desetkrát, protože je to pohodlnější než obskurní alt-hmaty. Takže indikace v promptu by byla naprd. CZ layout indikuje LED ScollLocku, kterou lze docela dobře vidět i periferním viděním. Upravil jsem si to takhle ke své potřebě před patnácti lety a nevidím důvod to měnit ;)
Jendа avatar 16.7.2013 17:34 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
(povzdech)Safra, to už tady nejsou žádní linuxáci, kteří si dovedou upravit linux ke své potřebě? To už všichni jenom zkoušejí, která distribuce jim lépe padne do ruky a jestli se jim lépe kliká ve Fedoře nebo v Kubuntu?(konec povzdechu)
Třeba používají pouze jedno rozložení jako já…
16.7.2013 16:56 mkmm
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
K indikaci normalne pouzivam ledku scroll locku (grp_led:scroll), ale na thinkpadech uz neni, tak to resim pomoci programu xkbvleds. S parametrem -watch 4 zobrazuje jenom scroll lock. Ve WM (openbox) jsem nastavil, aby se zobrazoval vpravo skoro dole, bez dekoraci, na vsech plochach a nad ostatnimi okny.
Řešení 1× (Vojtěch Horký)
18.7.2013 09:01 ikarr
Rozbalit Rozbalit vše Re: Změna promptu bash podle aktivního layoutu klávesnice
Takže po několika dnech zkoušení jsem indikátor v promptu zavrhl - aktualizace indikátoru proběhne až v okamžiku odentrování příkazu a na vzdálených shellech to samozřejmě neukazuje nic - obě tyto věcy byly už zmíněny v předchozích komentářích a skutečně dost vadí. Nakonec jsem identický kód použil pro indikaci klávesnice v liště dwm. Tam funguje stejně dobře jako indikátory/přepínače v mainstreamových GUI.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.