SmartOS, PuTTY a klávesy HOME, END a DEL

Pokud vás také zdržuje, že ve SmartOS nefungují na konzoli klávesy HOME, END a DELETE, zde je způsob, jak to napravit.

V domovském adresáři vytvoříme soubor .inputrc s následujícím obsahem:

"\e[3~": delete-char
"\e[1~": beginning-of-line
"\e[4~": end-of-line

Díky tomuto souboru bude bash vědět, jakou funkci má pro dané klávesy použít. Změny se projeví až po opětovném přihlášení.

Co ale dělat v případě globální zóny, kdy se tento soubor po restartu ztratí? Vytvoříme si pro něj SMF službu!

Nejprve soubor .inputrc nakopírujte do adresáře /opt/custom. Pokud tento adresář nemáte vytvořen, tak jej vytvořte.

Poté vytvořte soubor /opt/custom/smf/inputrc_link.xml s následujícím obsahem:




    
        
        
        
            
        
        
            
        
        
        
        
        
            
            
        
        
        
        
    

SmartOS po restartu automaticky načítá XML soubory z tohoto adresáře, službu nám naimportuje a vyrobí link.

Malý tip na závěr: Ve SmartOS zónách je stejný problém, ačkoliv stačí jen nakopírovat soubor .inputrc do adresáře uživatele, není potřeba SMF služba. Dělat to pro každou zónu je ale otrava. Můžeme si to zjednudušit tím, že soubor nakopírujeme do šablony zóny stáhnuté přes imgadm. Např. takto pro uživatele root:

cp /root/.inputrc /zones//root/root/

2 komentáře u „SmartOS, PuTTY a klávesy HOME, END a DEL

  1. Jiří Lundák

    🙂 já tento postup lehce upravil:
    udělám .lesskey s tímto obsahem:
    ^[[A back-line
    ^[[B forw-line
    ^[[C right-scroll
    ^[[D left-scroll
    ^[OA back-line
    ^[OB forw-line
    ^[OC right-scroll
    ^[OD left-scroll
    ^[[6~ forw-scroll
    ^[[5~ back-scroll
    ^[[1~ goto-line
    ^[[4~ goto-end
    ^[[7~ goto-line
    ^[[8~ goto-end
    pak ho příkazem lesskey zkompiluji do .less, a zbytek už je stejný, Jen s výsledným binárním souborem.
    Každopádně díky za inspiraci. Pekelný systém ten smartos :))

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.