Ez az új terminál teljesen őrült – de baromi szórakoztató

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Rengeteg terminál emulátor közül választhatnak a Linux-felhasználók. A legtöbben maradnak az alapértelmezett terminálnál, másoknak megvan a saját kedvencük. Itt egy új, Rust-alapú terminálba, ami azonnal felkeltette a figyelmemet. Nem azért, mert Rust-ban írták. Hanem mert az egérkurzor egy patkány. Elég furán hangzik, igaz? A Ratty viszont remekül megmutatja, mire képes egy terminál.

Mi is az a Ratty?

A Ratty egy modern terminál emulátor, amelyet Rust-ban írtak, és egészen sajátos csavart visz a parancssorba. A hagyományos terminálokkal ellentétben a Ratty GPU-val renderel. Közvetlenül a terminál ablakában tudsz 3D modelleket megjeleníteni, és ez még csak a kezdet. A dizájnt a TempleOS ihlette, ezért retro hangulatú, miközben a teljesítménye modern marad.

Nézzük meg közelebbről ezt az érdekes projektet, és hogy mivel tud kitűnni a terminál emulátorok tömegéből.

A Ratty szórakoztató funkciói

A Ratty úgy tűnik ki, hogy a hagyományos terminál funkciókat modern grafikus megjelenítéssel ötvözi. Néhány látványos funkció különösen felkeltette a figyelmemet ebben a kísérleti projektben.

Testreszabható 3D kurzor

A Ratty terminál protokollokat, a Ratatui könyvtárat és a Bevy game engine-t használja, hogy 3D kurzort jelenítsen meg. A hagyományos blokk vagy vonal helyett a kurzor lehet egy 3D patkány vagy bármilyen más testreszabott objektum.

Ha telepíted a Rattyt, alapértelmezés szerint egy forgó patkány lesz a kurzor. Ez a 3D objektum együtt mozog a szövegbevitellel, így a game engine renderelési képességei és a megszokott terminál-munkafolyamat különleges vizuális élménnyé állnak össze.

3D mód

A Ratty egy külön 3D módot is kínál, amelyben az egész terminál egy 3D jelenet vásznává alakul. Ilyenkor a terminál ablak már nem statikus: húzhatod, torzíthatod, és különböző szögekből nézheted a kimenetet.

A 3D módot a CTRL+ALT+Enter billentyűkombinációval kapcsolhatod be.

Van egy úgynevezett „Mobius mód” is, amit a CTRL+ALT+M billentyűkkel érsz el. Ilyenkor a terminál kimenete megcsavarodik és meghajlik, és egy folyamatos Möbius-szalagot formáz, jól megmutatva, hogyan épül a projekt a Bevy game engine-re.

3D módban a

Super+CTRL+ALT+Up

billentyűkkel növelheted, a

Super+CTRL+ALT+Down

kombinációval pedig csökkentheted a torzítás mértékét.

Beágyazott 3D objektumok

Ezzel a funkcióval a fejlesztők 3D asseteket regisztrálhatnak, és konkrét szövegcellákhoz rögzíthetik őket a terminálban. Mivel a modellek a cellákhoz kötődnek, a szöveg görgetésekor vagy átrendezésekor együtt mozognak vele.

Ehhez a Ratty egy saját Ratty Graphics Protocolt használ. Ez a protokoll intézi a kommunikációt a terminál adatai és a 3D engine között, és gondoskodik róla, hogy a modellek szinkronban maradjanak a képernyőn látható szöveggel.

Beépített képmegjelenítés

A Ratty támogatja a Kitty Graphics Protocolt is, így közvetlenül a terminál ablakában tud hagyományos képeket megjeleníteni.

Ennek köszönhetően a fastfetchhez vagy a yazihoz hasonló eszközök valódi képeket és ikonokat mutathatnak a szöveg mellett. Mivel egy elterjedt protokollt támogat, a Ratty mellett a modern terminál eszközök is a megszokott módon működnek, miközben a program a saját speciális 3D funkcióit is kínálja.

Élő 2D–3D osztott nézetes rajzolás

A Ratty egy 3D rajzoló demót is tartalmaz, amellyel jól látszanak az egyedi renderelési képességei. Itt egy osztott nézetű munkaterületet kapsz: a terminál bal oldalán egy hagyományos 2D vászonra rajzolsz.

Ahogy a sík felületen rajzolsz, a Ratty a jobb oldalon azonnal létrehoz egy élő 3D előnézetet az alkotásodról. Az előnézet folyamatosan forog, így rögtön látod, hogyan alakul át a 2D bemenet 3D objektummá, anélkül hogy kilépnél a terminálból.

Interaktív dokumentum mód

A Ratty egy TempleOS által ihletett dokumentumszerkesztő módot is kínál. Ebben a módban a hagyományos, szerkeszthető szöveget közvetlenül beágyazott 3D objektumok mellett gépelheted.

Mivel ezek a 3D modellek valós időben animálódnak ugyanazon a képernyőn, ahol a szöveg is megjelenik, a terminál inkább térbeli dokumentumszerkesztőként viselkedik, nem pedig egyszerű parancssorként. Egészen szokatlan módon kapcsolja össze a szöveget és a 3D asseteket egyetlen közös munkaterületen.

A Ratty telepítése

A Ratty telepítésének legegyszerűbb módja a Cargo használata, ami a Rust csomagkezelője. Végül is egy Rust alkalmazásról van szó.

cargo install ratty

Arch Linux felhasználók számára elérhető egy csomag a hivatalos tárolókban. Telepítéséhez futtasd az alábbi parancsot:

sudo pacman -S ratty

Ha nem szeretnél forrásból fordítani, előre lefordított binárisokat is letölthetsz közvetlenül a GitHub kiadások oldaláról.

Fontos, hogy a Ratty megfelelő működéséhez szükség van egy GPU-ra. Ha virtuális gépben próbálod futtatni, nem fog elindulni, amíg nem állítasz be GPU passthrough-t.

⚠️ Hibakeresés

Amennyiben Arch Linuxon telepítetted a Rattyt, és feltűnt, hogy nem jelent meg az alkalmazásmenüben, akkor kézzel kellene létrehozni egy desktop bejegyzést. Így tudod te is megcsinálni.

Hozz létre egy fájlt itt:

~/.local/share/applications/ratty.desktop

az alábbi konfigurációval. Ezután a terminál ugyanúgy megjelenik az alkalmazásindítóban, mint bármelyik másik program.

[Desktop Entry]
Name=Ratty
Comment=A GPU-rendered terminal emulator with inline 3D graphics
Exec=env TERM=xterm-kitty ratty
Icon=utilities-terminal
Type=Application
Terminal=false
Categories=System;TerminalEmulator;

Nálam működött ez a kézi megoldás, de ha ismersz másik, elegánsabb vagy hivatalosabb módszert a menübejegyzés kezelésére, írd meg kommentben.

A Ratty konfigurálása

A Ratty egy TOML fájllal állítható be, amely a

~/.config/ratty/ratty.toml

helyen található. Ha a könyvtár és a fájl még nem létezik, az alábbi parancsokkal hozhatod létre őket:

mkdir -p ~/.config/ratty
cd ~/.config/ratty
touch ratty.toml

Miután létrehoztad a fájlt, bemásolhatod a projekt által biztosított alapértelmezett konfigurációs sablont. Így testre szabhatod a terminál működését és megjelenését a saját igényeid szerint. A Ratty alapértelmezett konfigurációs fájlját itt találod.

Lenyűgöző?

A Ratty egyértelműen egy kísérleti projekt, amely a terminálfejlesztés határait feszegeti, és új ötleteket próbál ki. Mivel egy játékmotort használ a rendereléshez, jelenleg elég erőforrás-igényes.

Orhun, a Ratty készítője kifejezetten hangsúlyozza, hogy nem „napi használatra” szánt, általános produktivitási eszköznek készült, és reméli, hogy a jövőben sikerül optimalizálnia a teljesítményt.

A 3D sprite-ok és a játékokra emlékeztető grafika sokaknak talán nem jön be egy terminálban. Ugyanakkor különleges lehetőségeket ad azoknak a fejlesztőknek és designereknek, akik szeretnék közvetlenül a forrásfájlokban vagy a terminál munkaterületén „életre kelteni” az assetjeiket.

Te mit gondolsz a Rattyról? Írd meg a véleményed a kommentek között.