Úgy érzem az IT fejlődését és az telekommunikációs “küytük” elterjedését nagyban befoljásolta az, hogy mennyire lehet velük szórakoztató dolgokat csinálni. A szórakozáson belül is a játék mindig kiemelkedő helyen fog állni. Én is a játék kapcsán kerültem közelebb a számítógépekhez és a mai napig szívesen veszem elő a régi programokat úgy mint a AAA címeket. A következőkben azt kívánom bemutatni és ledokumentálni, hogy 2020 elején milyen gondolat vezérelt és milyen végső megoldást választottam arra, hogy újra legyen itthon egy játékra alkalmas számítógép.

A kezdetek

Induljunk ki abból, hogy alapból mim volt. Jó néhány Mac gép, iOS és iPad OS kütyük és Steam-en néhány játék. Sajnos, az egy ideje látszik, hogy bár Steam van MacOS-re, de a 64bites alkalmazások kikényszerítésével (Cataline-tól) a Steam-ben elérhető szegényes Mac-es felhozatal is szinte játszhatatlanná változott. Volt amikor külső eGPU-ba gondolkoztam, volt amikor Cloud szolgáltatásokban. Minden esetre egyik fele se nagyon húzott se az ár, se a komplexitás.

Adta volna magát, hogy kell egy külön álló, Windows-os gamer PC, amit mondjuk csak erre használok. A kép, hogy a régen jól ismert tower ház és egy kölön monitor álljon csak ott, ráadásul az általam nem kedvelt Microsoft Windows-al csak elrémisztett az egész “csinálnom kell egy játékra alkalmas megoldást” ötlettől. Így erről gyorsan letettem. Se Windows, se különálló PC setup nem kell.

Így jutottam oda, hogy nekem All-In-One appliance megoldás vagy egy Linux összeállítás kell majd. Valami olyan, ami könnyen tárolható, elrakható. Nem igazán tudtam mi.

Hardware

QNAP?

Nagyon sokáig arra gondoltam, hogy hardware-ként a meglévő két lemezes storage-met cserélem le egy olyanra, amibe lehet megfelelő GPU-t tenni. Így találtam rá a QNAP TVS-682 megoldásra. Itthoni storage mindig volt és lesz is, a QNAP rendszerét pedig már jól ismertem. Lehetőség van virtuális gépeket futtatni és oda a PCI slotba illeszthető GPU-t átadni. Miért nem ez lett?

Az árát említettem, hogy méregdrága. Ezen felül a gyári tápja csak Nvidia GTX 1050 Mini-t tudott volna elvinni. Illetve mindenhol azt találtam, hogy virtuális gépbe a GPU kártya átadását csak Windows platformon támogatják. Pedig az ötlet, hogy a storage képes virtuális gépet indítani, ami egy játékgép igazán jó lett volna. Talán egyszer oda is eljutunk.

NUC?

Eddig is sok esetben használtam az Intel NUC megoldásait. Persze az általam ismert gépek egyike se volt alkalmas különálló GTX kártyák fogadására, se olyan általam ismert gyári megoldás nem volt, ami alapból tartalmazta ezt. Vagyis várjunk!

Egy van! Intel NUC Hades Canyon. Ez a gép egy olyan NUC, amiben egy AMD RX Vega GPU is helyet kapott. Ebben a mini kategóriában szinten mindenhol ezt ajánlják. Illetve pletykálják, hogy Phatom Canyon néven jön valamikor egy új kiadás már GTX 1060-as kártyával.

Miért nem ez lett? Sajnos a Hades Canyon elég régi és a tudásához képest elég drága. A pletykált Phantom Canyon viszont bár igazán jó lenne de tartok tőle, hogy az ára még durvább lenne a jelenlegi testvérénél. Így bár ez megfelelő hardware-nek nézett ki, de letettem róla.

PC építése

Nem volt mese, építeni kellett egy gépet. Az elvárás viszonylag egyszerű volt. Egy mostani Xbox One vagy PS4 méreteivel rendelkező, 16GB-os, 500GB SSD-s, GTX 1060-as csendes gép legyen, amin fut Linux. Viszont én se gépet összerakni nem tudtam, se ahhoz nem értettem, hogy milyen kombinációba lenne ezt érdemes megvásárolni. Így nem volt mese, Feri barátomnak kipanaszkodtam magam a helyzetről, aki csak rám mosolygot és azt mondta: “A PCX-nél bármit összeraknak neked”.

Fogalmam sem volt arról, mi a PCX, de az internetnek volt. https://www.pcx.hu Így egyből fogalmaztam is egy levelet az igényeimről és meglepetésemre válaszoltak. Méghozzá úgy mint akik valóban segíteni akarnak. Konkrét eszközöket ajánlottak listába szedve, amit persze akár máshol is megvásárolhattam volna, mégis természetes volt, hogy tőlük fogom. Ráadásul össze is rakják és tesztelik nekem. WOW! Így lett végül ez a build:

Az rendelés leadását követően egy hétre rá már nálam is volt a gép. Ténylegesen összerakták és tesztelték, oly annyira, hogy kiszúrták, hogy az eredetileg ajánlott 3200MHz-s RAM nem fogja tudni a maximum órajelét, így egy 2600MHz-s ajánlottak helyébe. Így a gép meg is volt.

Linux – Xubuntu 20.04 LTS

Nem mondhatom, hogy az összes Linux disztribúciót kipróbáltam, vagy épp az általam választott Xubuntu lenne a legjobb. Nekem mindenképp egy Ubuntu megoldás kellett (a repository és interneten fellelhető megoldások miatt). Ebből pedig a legkisebb erőforrás igényesebb a XFCE window managert használó Xubuntu lett a választásom. A gép jobb esetben semmi másra nem lesz használva mint a játékok futtatására. Bár van pár igazán “gaming”-re ajánlott Linux disztribúciót, de a továbbiakban én ezt fogom használni.

Az alap rendszer felismerte a CPU, MEMÓRIA, SSD-t alapból. Sőt a Bluetooth és Wifi-t is ami az alaplapra volt integrálva. A 20.04 telepítése után az Nvidia 1060-at is felismerte és automatikusan a szükséges Nvidia driverekre specializálódott repisotory-t is hozzáaadta. Ez mind alapból jött. Telepítés után egy teljesen használható rendszert kaptam, ami készen állt a használatra.

Grub gyorsítása

Az első, amit én állítottam az a Boot Loader. Biztos ismerjük a gépünk indulásakor, visszaszámoló képernyőt, amin alapvetően csak tovább megyünk. Más esetben itt lehetne különböző kerneleket indítani, vagy másik rendszert. Nekem az alap visszaszámolásra nem volt semmi szükségem, így ki akartam kapcsolni, hogy hacsak nem nyúlok hozzá automatikusan indítsa a rendszeremet.

Ehhez két dolgot kell módosítani:

root@gamer_linux# vi /etc/grub.d/30_os-prober
...
...
...
#adjust_timeout

Az adjust_timeout sor elé rakjunk #-ot. Azaz kommenteljük ki.

root@gamer_linux# vi /etc/default/grub
...
...
GRUB_TIMEOUT_STYLE=“hidden”
GRUB_TIMEOUT=“1”
...
...

Azaz a stílus hidden és a timeout 1 értékeket kapjon.

Ezek után már csak újra kell generálnunk a grub config-ot:

root@gamer_linux# update-grub

Ezek után indíthatjuk is újra a gépet. Nekem most 28 másodperc alatt indul a gép.

Drivers – Kernel Mod

Nem igazán szeretem a speciális kerneleket, de a Liquorix kernel-t nagyon sok helyen ajánlották, így ezt most én is használni kezdtem. Kifejezetten játék gépek számára ajánlják. Olyan beállításokat és konfigurációkat hoz, amik kifejezetten a multimédiás és gamer köröknek ajánlott. Amennyiben valaki szinten szeretné használni, csak egy új repository-t kell hozzáadni a rendszerünkhöz, és a szükséges Liquorix kernelt installálni.

root@gamer_linux# add-apt-repository ppa:damentz/liquorix
root@gamer_linux# apt-get update
root@gamer_linux# apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64

Indítsuk újra ezek után a gépet és az új kernelnek kell a gépünket működtetnie.

Wake-On-Lan WOL

Ahogy említettem, a gépet csak akkor kapcsolnám be, ha játszani szeretnék. Nem csak a TV előtt ülve, hanem akár távolabbról is (erről majd később). Így az igény, hogy Wake On Lan segítségével távolról is el tudjam indítani természetes volt. Szerencsére az ajánlott Asus ROG Strix alaplap alapból tudta ezt, csak a BIOS-ba be kellett kapcsolnom. Először az Advanced/APM Configuration alatt allitsjuk a Powe On By PCI-E-t Enabled állapotba.

Majd az Advanced/[NIC NEVE]/NIC Configuration alatt kapcsoljuk be a Wake On LAN-t Enabled-re.

A beállítás elmentése utána gépünk a Wake On LAN segítségével távolról is “ébreszthető” lesz.

Scheduled Shutdown

Ha már képes vagyok akár távolról is elindítani, szeretném, ha a gép nem felejtődne bekapcsolva és bizonyos időközönként, ha én nem is állítom le, de leállna magától. Ehhez a telepített Linux crontabját használva tegyünk csak egy új bejegyzést:

root@gamer_linux# crontab -e
0 9,1 * * * /usr/sbin/shutdown -h now

Ez a szabály reggel 9:00-kor és hajnali 1:00-kor állítja le a gépet.

Automatikus Frissités

Ha már ad-hoc mód fog menni a gép ezért a frissítgetésével sem akarok időt energiát tölteni. Amikor tud, akkor frissítse magát. Szerencsére az Ubuntu rendszereknél elérhető egy megoldás ehhez.

Telepítsük a szükséges csomagot és ellenőrizzük, hogy sikeresen el is indult:

root@gamer_linux# apt-get install unattended-upgrades
root@gamer_linux# systemctl status unattended-upgrades
● unattended-upgrades.service - Unattended Upgrades Shutdown
     Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-03-17 17:23:42 CET; 20min ago
       Docs: man:unattended-upgrade(8)
   Main PID: 841 (unattended-upgr)
      Tasks: 2 (limit: 19069)
     Memory: 11.5M
     CGroup: /system.slice/unattended-upgrades.service
             └─841 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal

Ha testre akarjuk szabbni, akkor a /etc/apt/apt.conf.d/50unattended-upgrades -t nyissuk meg szerkesztésre. Alapból nem szükségeltetik a részletes testreszabás, de ha meg akarjuk mondani, mit mikor, hogyan csináljon és mikor és hogy indítsa utána újra a gépet, azt itt tudjuk testre szabni.

Ezek után már csak azt kell beállítatnunk, hogy a rendszer milyen sűrűn frissitse az elérhető csomagok listáját, milyen sűrűn frissitsen, és milyen sűrűn takarítson maga után. Ezt ebben a file-ban tudjuk megtenni:

root@gamer_linux# /etc/apt/apt.conf.d/20auto-upgrades
 APT::Periodic::Update-Package-Lists "1";
 APT::Periodic::Unattended-Upgrade "1";
 APT::Periodic::AutocleanInterval "7";

Ha ki akarjuk próbálni egy dry-run kapcsoló segítségével, hogy mi lenne HA lefutna, akkor ezt a parancsot adjuk ki:

root@gamer_linux# unattended-upgrades --dry-run -–debug

Itt látni fogjuk, hogy miket csinálna, ha az automatika hívná meg, vagy akár mi dry-run kapcsoló nélkül. Amennyiben a valós futások eredményére vagyunk kiváncsiak, amik a háttérben történtek, akkor a /var/log/unattended-upgrades/unattended-upgrades.log-t nézzük meg.

Steam Play – Proton

A Valve cég, aki a Steam kliensért a Steam játékos ökoszisztémáért is felelős, 2018-ban előállt egy saját windows emulátor komponenssel, amivel lehetővé kívánják tenni a Windows-only címek Linuxos futtatását. Véleményem szerint a játékok előbb vagy utóbb igényelni fogják a külön futtatókörnyezetet, ugyanis a rendszerek, driverek, rendszer hívások előbb vagy utóbb kikopnak alóluk. Így azt emulálni kell és valahogy az aktuális rendszerek számára kezelhetővé kell tenni. Ha pedig a játékokhoz készítünk egy ilyen környezetet, akkor akár Linux is meghajthatja ezt. A WINE project, ami pontosan ezt a célt tűzte zászlójára, már régóta fejleszti ezt a megoldást. Viszont a Steam saját néven, erősen a WINE-ra építve egy saját termékként hozta létre ezt a komponenst Proton néven. Tehát a Proton alkalmas lehet, hogy a csupán Windows-on futtatható játékok elinduljanak Linuxon. Ehhez pedig csak egy steam kliensre van szükségünk, a steam-en pedig bekapcsolhatjuk, ezt az emulációt.

Természetesen a Proton sem tökéletes. Senki se gondolja, hogy ez által egy pörcre működni fog minden, és az ismert teljesítményt és futást eredményezni. Viszont meglepően sok esetben igen. A játékaink Proton támogatottságát pedig egy közösségi bejelentéseken alapuló oldalon a https://protondb.com tudjuk ellenőrizni.

MiszterX ProtonDB – a játékok alatt szerepel az értekelésük, hogy Protonnal mennyire futtatható

Ha már rendelkezünk aktív Steam Library-el érdemes ellenőrizni, illetve ha Protonon kívánunk új játékot futtatni, akkor pedig a vásárlás előtt. Meglepően jól teljesít ez az emuláló komponens. Sűrűn jön friss verzió hozzá, és nagyon aktív közösség is követi nyomon a változásokat. Ha esetleg alapból valami nem működne, akkor a protondb.com-on vagy a github oldalukon különböző játékokhoz találunk egyedi proton indítási szabályokat, amivel megoldódhat valamilyen gond, vagy éppen csak tuningolhatunk valamit a játék futásán. Ezeket is érdemes megnézni.

Steam – Steam Remote Play

Már a Steam Play – Proton szolgáltatása is egy hatalmas lépés volt számomra, de a Remote Play funkció teljesen lenyűgözött. Ennek a funkciónak hála egyik steam kliens tud a másik steam klienhez kapcsolódni. Viszont nem csak össze tudjuk kapcsolni a steam klienseket, hanem az egyik lesz a host, amelyik erőforrásai futtatják a játékot és a képernyőn megjelenő akciót megosztja a másikkal. A másik gépnek pedig semmilyen erőforrással nem kell rendelkezni a játékhoz, mivel az csak a képet fogja fogadni a host-tól és a vezérlést (billentyűzet vagy kontroller) a hostnak közvetíteni. Mint egy távoli asztal kapcsolat, amihez csak steam kell és egyből játszhatunk is.

Steam Remote Play

Ehhez menjünk arra a gépre amit hostként akarunk használni. Itt a Settings / Remote Play résznél kapcsoljuk be a Remote Play funkciót. Majd a kliensről menjünk ide, és a Pair Steam Link gombbal kapcsoljuk össze a két gépet.

Ha mindent jól csináltunk a kliens gépen azok a játékok, amik elérhetőek a hoston, szintén elérhetőek lesznek a kliensen, viszont egy Stream gomb-ot fogunk látni. Ez utal arra, hogy ezt nem a gépünkről játsszuk, hanem a képet kapjuk csupán a host gépről.

A Steam Remote Play gyakorlatilag elindítja a jáékot a host-on és annak a képernyőjét megjeleníti a kliensen. Semmi akadálya annak, hogy a hoston proton rétegbe induljon el a játék és annak a képernyőjét jelenítse meg a kliens. Ha a hoston képes futni a játék, akár natívan Windows gépen, vagy protonnal egy Linuxon, a Steam Remote Play működni fog.

Steam Link – Phone Tablet App – TV

A Steam Remote Play funkcióját természetes, hogy egy másik Steam kliensen keresztül tudjuk használni. Viszont ez a “hostról megosztom a képernyőt és a kliens perifériáját használom” nem igényel egy teljes Steam klienst a másik oldalon. Ezért a Valve kiadta a Steam Link nevű alkalmazást (eredetileg egy külön hardware volt), amivel külön játszani nem tudunk, csak egy host-ra csatlakozni a Remote Play-en keresztül. Az alkalmazás pedig elérhető telefon, tablet és TV-kre is.

Androidra és iOS-ra egész biztos elérhető, viszont a TV-nél érdemes megnézni, hogy a Steam Link app elérhető-e. Ez sajnos régebbi modellek esetében nem egyértelmű. Viszont a Steam Play és Steam Remote Play segítségével tudok tableten, telefonon játszani. Akármikor a játékra alkalmatlan Macbook Air-emen is futnak Windows only játékok, illetve a TV elé ülve is játszhatok a megszokott és megvásárolt játékokkal.

Steam Client automatikus indulása

Ha már ennyire kiveséztem, hogy mennyire jó a Steam, akkor a gépünk esetében szükséges, hogy el is induljon automatikusan. Lehetőleg a háttérbe. Ehhez keszítsünk egy új Autostart elemet. Keressünk rá a Session and Startup-ra:

Majd a megjelenő ablakban válasszuk az Application Start tab-ot és ott hozzunk létre egy új elemet.

Name: steam
Command: /usr/games/steam -silent
Trigger: on login

Ezzel, ha legközelebb indul a gép és engedélyeztük a felhasználónknak, hogy jelszó nélkül azonnal belépjen már is indulni fog a steam a háttérben, és távolról már is tudunk egy másik steam-el vagy steam link-el kapcsolódni hozzá.

Headless HDMI EDID Emulator

Bár ezt nem feltétlenül ajánlom, de magam is belefutottam a teszteléskor olyan helyzetbe, amikor a Steam kliens és az ő általa adott szolgáltatások el se akartak indulni. Ez akkor fordult elő, ha a videó kártyán egyáltalán nem volt kijelző indításkor. Ha nincs kijelző a Linux nem tudja a megfelelőem inicializálni a grafikus környezetet és hozzá az Nvidia kártyát. Ez által a steam se fog működni és az egész rendszerünk használhatatlan lesz. Ha már egy TV vagy egy monitor lóg a gépen akkor nem gond, de ha teljesen headless szerverként akarjuk üzemeltetni a megoldást, akkor erre az esetre vásárolnunk kell egy “Headless HDMI EDID emulator”-t. Ez úgy néz ki, mint egy pendrive, csak ezt a videó kártyánk HDMI csatlakozójába kell dugni. Ez induláskor “behazudja”, hogy van egy monitor csatlakoztatva, és a rendszer megfelően el tud indulni.

Lutris Minden féle játék

Innentől fogva viszont már nem a távoli játék lehetőségről lesz szó. Inkább arról, mit lehet a géppel es ezzel a Linux alapú rendszerrel még kezdeni, ha mondjuk van egy billentyűzetünk és egerünk, a gép pedig egy kijelzőhöz van kapcsolva. A Lutris nem egy cég boltjának az alkalmazása, bár úgy tűnhet. Ez egy alkalmazás, ami képes minden féle (Humble Budle, Steam, Gog) forrásból beszerezni a már megvásárolt játékainkat. Illetve akár odamásolt (igen, akár illegális forrásból származó) programokat is elindítani. A lutris közössége megfelelően karban tartja, hogy milyen játéknak, milyen WINE vagy PROTON verzióval és beállításokkal kell futnia. Ergó, egy grafikus felület alapján képes több, a közzösség által javasolt módon windows játékok indítására.

Sajnos a Lutris nem rendelkezik a Steam Remote Play funkciójával. Így a Lutris esetében, ha el tudjuk indítani a játékot, akkor a géphez kapcsolt perifériákkal és a direktbe csatlakoztatott képernyőn tudunk játszani. Ennek ellenére, nagyon aktív közösség van mögötte és hihetetlen mennyiségben tud játékokat futtatni a Lutris. Minden féle mély szakmaiság nélkül, egy alkalmazás bolt kezelhetőségével. Ha játszani akarsz Linuxon, ezt mindenkiépp próbáld ki! https://lutris.net

Conky

Ha valamikor akkor, még nagyon-nagyon régen használtam Desktop Linux-ot. Akkoriban még napokat kellett szenvedni és kernel-t forgatni, hogy valami prünytögés jöjjön a hangkártyából. A desktop dolgai pedig ha működtek, akkor gyorsan elvitte egy frissítés a jól össze rakott rendszert. Így előre elnézést, ha olyan dolgokra csodálkozok rá, ami már régóta ismert. Nekem nem volt az. Ami egyből megtetszett, az a desktop-ra kitehető widget, ami a háttérben frissül és rendszer információkat tesz közzé. Ez a Conky. Nálam belépés után így néz ki a desktop:

A kép jobb oldalán található az rész, amit a conky generált. Az, hogy mi, milyen stílusban jelenjen meg és milyen információk, ahhoz egy konfigurációs file-t kell létrehoznunk a home könyvtárunk .conkyrc file-jába.

A conky telepítéséhez csupán a repository-ból kell telepíteni a conky-t:

root@gamer_linux# apt-get install conky

Bár az internet tele van szebbnél szebbekkel, de ha valaki az enyémre kíváncsi akkor íme:

user@gamer_linux$ cat .conkyrc 
 #==============================================================================
 #                               conky Simple
 # Date    : 07/08/2016
 # Author  : AndeOn
 # Version : v0.1
 # License : Distributed under the terms of GNU GPL version 2 
 # 
 # 
 # conky: https://github.com/brndnmtthws/conky
 # conky Manager: http://www.teejeetech.in/p/conky-manager.html
 #==============================================================================
 # conky configuration

 # Set to yes if you want Conky to be forked in the background
 background yes

 # Update interval in seconds
 update_interval 1

 # number of cpu samples to average
 # set to 1 to disable averaging
 cpu_avg_samples 2

 # number of net samples to average
 # set to 1 to disable averaging
 net_avg_samples 2

 # Subtract file system buffers from used memory?
 no_buffers yes
 double_buffer yes
 text_buffer_size 2048

 # Add spaces to keep things from moving about?  This only affects certain objects.
 use_spacer right

 # This is the number of times Conky will update before quitting.
 # Set to zero to run forever.
 total_run_times 0

 # Gap between borders of screen and text
 # same thing as passing -x at command line
 gap_x 40
 gap_y 80

 # Minimum size of text area
 minimum_size 30 0
 maximum_width 290

 # Create own window instead of using desktop (required in nautilus)
 own_window yes
 own_window_type dock
 own_window_transparent yes
 own_window_argb_visual yes
 own_window_argb_visual no
 own_window_colour 000000
 own_window_argb_value 0
 own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
 
 # Text alignment, other possible values are commented
 #alignment top_left
 alignment top_right
 #alignment bottom_left
 #alignment bottom_right

 # Draw shades?
 draw_shades no

 # Draw outlines?
 draw_outline no
 
 # Draw borders around text
 draw_borders no
 draw_graph_borders no
 
 # Stippled borders?
 stippled_borders 0
 
 # border margins
 border_margin 4

 # border width
 border_width 1


 # Force UTF8? note that UTF8 support required XFT
 override_utf8_locale yes
 

 # Use Xft?
 use_xft yes
 

 # Xft font when Xft is enabled
 xftfont Bitstream Monospace:size=9
 

 # Text alpha when using Xft
 xftalpha 0.5
 

 # set to yes if you want all text to be in uppercase
 uppercase no
 

 # Default colors and also border colors
 default_color white
 default_shade_color black
 default_outline_color white
 # Shades of Gray
 color1 DDDDDD
 color2 AAAAAA
 color3 888888
 color4 ffa54f # Orange
 color5 77B753 # Green
 color6 3a5153 # DarkGrey
 

 # Header with base system info
 # stuff after 'TEXT' will be formatted on screen
 own_window_argb_value 0
 own_window_argb_visual yes
 own_window_colour 000000
 TEXT
 #SYSTEM DETAILS:
 ${font Monospace:style=Bold:pixelsize=16}${color4}SYSTEM ${color6}${hr 2}
 ${color}${font Monospace:size=8}OS: ${alignr}Ubuntu 16.04.1 LTS (Xenial Xerus) - Unity
 KERNEL: $alignr$sysname $kernel ($machine)
 UPTIME: $alignr$uptime
 RUNNING PROCESSES: ${alignr}$processes (${color4}$running_processes Executing${color})
 

 ${color4}${font Monospace:style=Bold:pixelsize=12}CPU USAGE ${color6}${hr 2 }
 ${color}${font Monospace:style=Bold:pixelsize=8}
 CORE I:                        CORE II:${font Monospace:size=8}
 ${freq}MHz / ${acpitemp}°C ${color3}(${cpu cpu1}%)           ${color}${freq}MHz / ${acpitemp}°C ${color3}(${cpu cpu2}%)
 ${cpubar 5,120 cpu1}       ${cpubar 5,120 cpu2}
 ${alignr}${color BBCCDD}${cpugraph 20,290 EF5A29 EF5A29}
 ${color}1st ${color4}${top name 1}${top cpu 1}%${alignr}${color}1st ${color4}${top name 2}${top cpu 2}%
 ${color}2nd ${color}${top name 3}${top cpu 3}%${alignr}${color}2nd ${color}${top name 4}${top cpu 4}%
 ${color}3rd ${color1}${top name 5}${top cpu 5}%${alignr}${color}3rd ${color1}${top name 6}${top cpu 6}%
 ${color}4th ${color2}${top name 7}${top cpu 7}%${alignr}${color}4th ${color2}${top name 8}${top cpu 8}%
 ${color}5th ${color3}${top name 9}${top cpu 9}%${alignr}${color}5th ${color3}${top name 10}${top cpu 10}%
 

 ${color4}${font Monospace:style=Bold:pixelsize=12}MEMORY USAGE ${color6}${hr 2 }
 ${color}${font Monospace:size=8}
 $mem / $memmax ($memperc%)
 ${color3}${membar 5,120}
 ${color}1st ${color4}${top_mem name 1}${top_mem mem 1}% ${alignr}${color}6th ${color3}${top_mem name 6}${top_mem mem 6}%
 ${color}2nd ${color}${top_mem name 2}${top_mem mem 2}% ${alignr}${color}7th ${color3}${top_mem name 7}${top_mem mem 7}%
 ${color}3rd ${color1}${top_mem name 3}${top_mem mem 3}% ${alignr}${color}8th ${color3}${top_mem name 8}${top_mem mem 8}%
 ${color}4th ${color2}${top_mem name 4}${top_mem mem 4}% ${alignr}${color}9th ${color3}${top_mem name 9}${top_mem mem 9}%
 ${color}5th ${color3}${top_mem name 5}${top_mem mem 5}% ${alignr}${color}10th ${color3}${top_mem name 10}${top_mem mem 10}%
  

 ${color4}${font Monospace:style=Bold:pixelsize=12}DISK USAGE ${color6}${hr 2 }

 ${color}${font Monospace:style=Bold:pixelsize=11}COMPUTER:${font Monospace:size=7} ${alignr}${fs_used /}/${fs_size /}
 ${alignr}${color2}${fs_used_perc /}% ${color3}${fs_bar 5,120 /}

 ${color4}${font Monospace:style=Bold:pixelsize=12}INTERNET ${color6}${hr 2 }
 ${color}${font Monospace:style=Bold:pixelsize=11}DOWN SPEED:${font Monospace:size=7} ${alignr} ${color2}${downspeed eno2} kb/s 
 ${alignr}${color BBCCDD}${downspeedgraph eno2 20,290 EF5A29 EF5A29}
 ${color}TOTAL DOWN ${alignr}${totaldown eno2} 
 ${color}${font Monospace:style=Bold:pixelsize=11}UP SPEED:${font Monospace:size=7} ${alignr} ${color2}${upspeed eno2} kb/s 
 ${alignr}${color BBCCDD}${upspeedgraph eno2 20,290 77B753 77B753}
 ${color}TOTAL UP ${alignr}${totalup eno2}

 ${color4}${font Monospace:style=Bold:pixelsize=12}GPU ${color6}${hr 2 }
 ${color}GPU:${color #FCAF3E}${exec nvidia-smi --query-gpu=gpu_name --format=csv,noheader,nounits} $color
 ${color}GPU Temperature ${color}  ${execi 60 nvidia-settings -query [gpu:0]/GPUCoreTemp -t} °C
 ${color}GPU Utilization ${color}  ${exec nvidia-smi | grep % | cut -c 61-63} %
 ${color}VRAM Utilization ${color} ${exec nvidia-smi | grep % | cut -c 37-40} MB
 ${color}GPU Power Draw ${color} ${exec nvidia-smi | grep % | cut -c 21-23} W

Egyszerűen nyissunk egy terminált, és ezek után írjuk be a conky parancsot. Ez indítja is a conky-t és valamit látnunk kell a képernyőnkön vagy a terminálba a hibaüzenetet, miért nem tud elindulni.

Itt is, ha a conky-t szeretnénk automatikusan indítani a belépéskor, akkor keressünk rá a Session and Startup-ra:

Majd a megjelenő ablakban válasszuk az Application Start tab-ot és ott hozzunk létre egy új elemet.

Name: conky
Command: /usr/bin/conky
Trigger: on login

Baobab

Szerintem mindenki szembesült már az érzéssel, hogy “elfogyott a hely, és mi foglal annyit, amiből lehetne törölni” érzéssel. Ilyenkor a legjobb valami olyan alkalmazást használni, ami feltérképezi a tárhelyünket, és egy részletes statiszikával bemutatja, mi mennyi helyet foglal. Parancssoros környezetben én a GDU megoldást szeretem. https://github.com/dundee/gdu Viszont egy grafikus környezet esetén érdemes kihasználni a lehetőségeket. Nekem a baobab alkalmazása jött be leginkább.

Egyszerű telepítés után:

root@gamer_linux# apt-get install baobab

Keressünk a Disk Usage Analyzer alkalmazásra és már is indíthatjuk a scan-t, ami után látjuk interaktívan, hogy mi foglal annyi helyet a rendszerünkön.

Stacer

Kerestem valami olyan alkalmazást, ami képes a hardver erőforrások használatát megjeleníteni (akár időben egy grafikonra kirajzolni), illetve a manapság oly divatos takarításos és “mi van beállítva” dolgokat is kezelni. Nekem pedig az stacer tetszett meg. Itt grafikusan szinte minden olyan információt vagy beállítást elérhetünk, amire nekünk szükségünk lenne. Csak ajánlani tudom. https://github.com/oguzhaninan/Stacer

X11VNC

A VNC-t szinte mindenki ismeri. Egy távoli asztal elérést biztosító szolgáltatás, amivel egy másik gépről a gép grafikus kimenetére tudunk kapcsolódni. Viszont az X11VNC-vel nem szükséges az, hogy egy bejelentkezett ember által elindított VNC-re csatlakozzunk. Még előtte, a grafikus motor által működtetett X rendszerhez tudunk hozzáférni VNC-vel. Tehát akár a bejelentkező ablakot is láthatjuk.

Ehhez installáljuk a megfelelő csomagokat:

root@gamer_linux# apt-get install x11vnc

Állítsuk be, hogy milyen jelszót használjunk a VNC csatlakozáshoz. A létrejövő jelszó az /etc/x11vnc.pass file-ban fog tárolódni:

root@gamer_linux# x11vnc -storepasswd /etc/x11vnc.pass

Hozzunk létre egy új systemd service-t:

root@gamer_linux# vi /lib/systemd/system/x11vnc.service
[Unit]
 Description=Start x11vnc
 After=multi-user.target
 
 [Service]
 Type=simple
 ExecStart=/usr/bin/x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.passwd -rfbport 5900 -shared -nocursor
 
 ExecStop=/usr/bin/killall x11vnc

Majd töltsük be az új x11vnc service-t, engedélyezzük és indítsuk el:

root@gamer_linux# systemctl daemon-reload 
root@gamer_linux# systemctl enable x11vnc.service 
root@gamer_linux# systemctl start x11vnc.service

Ezek után érdemes megnézni, hogy sikeresen el tudott-e indulni a service, és ha igen már csatlakozhatunk is a kedvenc VNC kliensünkkel a gép hostnevéhez az 5900-as porton.

root@gamer_linux# systemctl staus x11vnc.service
● x11vnc.service - Start x11vnc
      Loaded: loaded (/lib/systemd/system/x11vnc.service; enabled; vendor preset: enabled)
      Active: active (running) since Fri 2021-03-19 12:45:32 CET; 1h 50min ago
    Main PID: 2651 (x11vnc)
       Tasks: 2 (limit: 19069)
      Memory: 15.4M
      CGroup: /system.slice/x11vnc.service
              ├─2651 /usr/bin/x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.passwd -rfbport 5900 -shared -nocursor