Scopo: Avere un'alternativa più leggera e minimale a Plasma in ambiente KDE
Come: Installando "Be::shell"
Prerequisiti: Spazio su disco, connessione a internet, cmake, git *, bespin o Qtcurve
Vantaggi: Ambiente più leggero e veloce, molto più personalizzabile, molto più minimale
Svantaggi: Ambiente ancora giovane, alcune funzioni mancanti, in generale è un ambiente più complicato di plasma, con configurazione tramite file testuali.
Tempo necessario: 20 minuti per l'installazione
Fonte: Sito Ufficiale di Be::shell
NOTA la seguente guida è in costruzione e tratta passaggi spiegati nel wiki inglese disponibili sul sito ufficiale BE::Shell è una shell alternativa a plasma per il desktop kde, il cui fine è fornire un'ambiente leggero e in accordo con la filosofia KISS (Keep It Simple Stupid).
Le fasi che seguono spiegano l'installazione, la configurazione, la tematizzazione, e in ultimo come rimuoverla in caso di problemi.
InstallazioneMetodo 1 (da ccr):EDIT: aggiunto ccr . Per chi vuole testare mi faccia sapere nel caso si presentino problemi, se non ve ne saranno rimuoverò la parte inerente la compilazione.
ccr beshell-git
Per avere be.shell all'avvio con il pacchetto da ccr:
I file plasma-desktop.desktop e krunner.desktop vengono installati in /usr/share/be-shell/examples/ e vanno copiati in ~/.kde4/share/autostart/.
Il file be.shell.desktop viene automaticamente installato in /usr/share/autostart/ , se manca di avviare be.shell al login ( a me non lo faceva) spostatelo in ~/.kde4/share/autostart/ .
Metodo 2 (compilazione):Aprite il terminale e digitate:
git clone git://git.code.sf.net/p/be-shell/code be-shell
Questo scaricherà il sorgente nella vostra home. Spostiamoci quindi nella cartella be-shell appena creata:
cd be-shell
E lanciamo lo script di configurazione:
./configure
Adesso entriamo nella directory build e compiliamo.
cd build; make && sudo make install
Primo avvio :Terminata l'installazione possiamo chiudere plasma e avviare be.shell (
nota:
dopo questi comandi tenete aperto il terminale ):
kquitapp plasma-desktop
kquitapp kuiserver
kquitapp krunner
be.shell
Vi troverete davanti un desktop vuoto, ad eccezione di alcune icone. Niente paura, la fase successiva spiega come configurare i pannelli, le applet e lo sfondo del desktop.
Prima però - sempre nel terminale diamo il comando:
kcmshell4 kded
E togliamo la spunta a " Gestore del notificatore di stato".
Per avere BE::Shell all'avvio al posto di plasma copiare dalla cartella ~/be-shell/ i files : be.shell.desktop , krunner.desktop, e plasma-desktop.desktop in ~/.kde4/share/autostart/ e sovrascrivete eventuali file preesistenti. Assicuratevi in
impostazioni di sistema ->
avvio e spegnimento ->
avvio automatico che BE::shell sia attiva allo startup e plasma-desktop workspace disattivo.
Importante : ci tengo a specificarlo visto che è un errore molto comune:
NON cancellare nè la sottocartella build, bè la cartella be-shell se non avete già disinstallato.
Configurazione:Facoltativo: [spoiler]se volete potete copiare le configurazioni di esempio in ~/be-shell/examples. Basta aprire uno dei due file (be.shell.beos o be.shell.win2000 col vostro editor testi) e copiare la configurazione all'interno della vostra ,salvare e ricaricare be-shell. I temi relativi a queste configurazioni sono nella stessa cartella. Copiate la cartella Themes in ~/.kde4/share/apps/ e unitela a quella preesistente. Selezionate poi il tema dal menù a comparsa del desktop alla voce "Themes ->"[/spoiler]
Premiamo il tasto destro del mouse sul desktop per aprire il menù di BE::Shell e alla voce
Config selezioniamo
Edit.... Si aprirà il file di configurazione della shell - situato nel percorso ~/.kde4/share/config/ - dove dobbiamo specificare l'uso di pannelli e applet (e l'eventuale configurazione di queste ultime). E' importante rispettare le maiuscole.
Nella configurazione attuale dovrebbero essere presenti due gruppi: [BE::Shell] e [BE::Desk].
In [BE::Shell] si inserirà la lista dei pannelli - ciascuno separato da una virgola - alla riga Panels (se manca, createla), potete assegnare ai pannelli qualsiasi nome, nell'esempio useremo BottomPanel e TopPanel.
[BE::Shell]
Panels=TopPanel, BottomPanel
Theme=default
Senza chiudere il file, salviamo e col tasto destro sul desktop andiamo in
Config ->
Reload.
I pannelli da noi creati si allineeranno sul lato superiore dello schermo, sovrapposti, Per spostarli e/o ridimensionarli è sufficiente cliccarci sopra col tasto destro del mouse e selezionare
move/resize, aggiustandoli secondo le nostre esigenze.
La configurazione dei pannelli è facilmente gestibile tramite GUI, mentre la loro tematizzazione sarà affrontata nella parte relativa, più avanti.
Nella sezione [BE::Desk] invece sono conservati i valori relativi alle opzioni del desktop, la maggior parte delle opzioni sono editabili nel menu a comparsa sul desktop: il wallpaper, la visibilità delle icone sul desktop (basta togliere la spunta ad Icons), del cestino, e le modalità di visualizzazione del wallpaper stesso. BlurRadius si rifersce alla sfocatura impostabile per il wallpaper - nel caso sia necessario per conky. Mentre ShadowOpacity disegna le ombre per i pannelli, di default è 0, consigliato il valore 25, ma può essere settato a piacere ( da notare che più alto è il valore più rallenterà il cambio del wallpaper e il riavvio di be-shell).
Dopo aver configurato i pannelli il file di testo segnalerà dei cambiamenti apportati da un altro programma: selezioniamo Ricarica e continuiamo la configurazione.
Una volta inserito il pannello comparirà una sua riga [BottomPanel] a cui andranno aggiunte le applet ecco un esempio ( le frasi precedute da un hash '#' sono commenti a titolo esplicativo, non vanno copiati):
[ BottomPanel]
Applets=RAM,CPU,NET,tasks,Stretch,Stretch,Pager #lista delle applet, per tipo o Id
BlurRadius=15 #Se il pannello è trasparente, questo rende sfocato lo sfondo. Il valore è modificabile
Length=100 #La lunghezza
Offset=0 #La distanza dai bordi
Position=1 #Il lato dello schermo dove il pannello è posizionato. Da 0 a 4
Screen=-1 #SU quale desktop sarà visibile. -1 equivale a tutti
Size=35 #Lo spessore del pannello.
Visible=true #Booleano. Accetta true o false. Su false nasconde il pannello
Struts=true #Booleano. Se settato su false mantiene il pannello sotto le finestre
CastShadow=true #Se il pannello proietta o meno un ombra
Id=BottomPanel # L'id, da usare nel tema per configurare l'oggetto,
Type=Panel #Il tipo di oggetto.
Molte di queste voci, come Lenght, Size, Position e Visible sono configurabili tramite la GUI richiamabile da tasto destro.
Altre sono nascoste di default, e settate perlopiù su un valore positivo(se booleane).
Da notare che se il pannello non occupa l'intero lato dello schermo, i nomi standard BottomPanel, TopPanel, RightPanel, e LeftPanel devono essere specificati con l'indicazione esatta ( per esempio BottomLeftPanel per un pannello che occupa solo il lato in basso a sinistra dello schermo). Molto più semplice è assegnare un Id, sorvolando il problema del nome, che altrimenti può causare problemi al momento della tematizzazione.
Non è necessario specificare la voce Type per i pannelli ( forse l'unica applet in cui è facoltativo), tranne nel caso lo si voglia usare come subpannello ( SubPanel), ovvero inserendolo nella lista di Applets di un pannello contenitore (nel caso, il SubPanel non va inserito nella lista Panels in [BE::Shell] ) .
Le applet disponibili sono :
-
Panel : un pannello dentro un pannello,che può contenere altre applet ed essere tematizzato. Anche per questo si può assegnare un nome a piacere, a patto di specificare che si tratta di un pannello in Type= , nella configurazione dell'applet (come vedremo fra poco)
-
Button : un bottone a cui corrisponde un comando, un servizio, un collegamento ad un menù, un comando DBus. Ai bottoni possono essere assegnati un testo o un icona ( o entrambi ), azioni supplementari allo scorrimento della rotellina del mouse, e possono essere inseriti nella taskbar come lanciatori. Esempio:
[start]
Icon=/home/hombre/.kde4/share/apps/be.shell/Themes/Mac osx/arch start buttons by gabriela2400/start-here monochrome strong.png
Label=Applicazioni
Menu=submenu
Mode=0
Type=Button
WheelDown=killall konsole
WheelUp=konsole
Mode si riferisce alla modalità in cui sarà mostrato il bottone: 0 solo icona; 1 solo testo; 2 testo accanto l'icona; 3 testo sotto l'icona.
Type specifica invece il tipo dell'applet, difatti il nome tra le parentesi quadre si riferisce ad un #ID usato per comodità ( altrimenti sarebbe impossibile usare due bottoni identificati come [Button] ). Per la riga Icon invece ci sono due opzioni: se volete usare un'icona nel vostro tema icone basta digitarne il nome o l'estensione ( es Icon= start-here ), se no vanno scritti entrambi, come nell'esempio sopra.
Nel caso riportato il bottone apre un menù personalizzato, submenu.xml che si deve trovare nella cartella ~/.kde4/share/apps/be.shell
I comandi andranno invece inseriti col nome del binario. Esempio per un servizio:
[konsole]
Icon=konsole
Mode=0
Service=kde4/konsole
Type=Button
O si può tranquillamente impostarne il comando:
Exec=konsole
Qui un esempio per un comando DBus:
DBus=session;org.kde.be.shell;/Desktop;org.kde.be.shell;toggleDesktopShown
-
Label : quest'applet è particolare, in quanto se associata ad un comando, questo viene lanciato di continuo, dopo tot millisecondi. Associando uno script o un FiFo, ne verrà visualizzato l'output. Molto Utile per costruire sensori, o nuovi oggetti del desktop.
A breve un aggiornamento con esempi contenenti script e il FiFo.deamon di BE::Shell.
[SystemMonitor]
Exec=$HOME/.kde4/share/apps/be.shell/scripts/sysinfo.sh #percorso allo script
PollInterval=5000 #frequenza d'aggiornamento in millisecondi
Type=Label
-
Clock : l'orologio, segue i formati standard (consultabili in "change pattern" dal menù che comparirà al click destro) o html. Es.
[Clock]
Pattern='<html>'ddd' <b>·</b> 'hh:mm ap'</html>'
-
GlobalMenu: molto simile al plasmoide XBar di bespin ( che è un porting di quest'applet per plasma) - la sua configurazione è inerente al file MainMenu.xml in ~/.kde4/share/apps/be.shell/ e verrà trattata in seguito. Il file MainMenu.xml definisce delle entrate personalizzate quando nessuna applicazione qt è attiva - altrimenti (se si usa come engine bespin o qtcurve con il supporto per xbar attivo) sarà esportata la barra dei menu delle finestre.
-
Infocenter: un'icona a comparsa che segnala le notifiche. Non necessita configurazione.
-
MediaTray: rappresenta i dispositivi collegati, a ciascuno può essere assegnato un'azione e un comando (es.
AudioDisc_actions=Play with Xine,Rip with Audex o
AudioDisc_commands=xine cdda:%@/,audex )
-
Sessionbutton: un pulsante per gestire la sessione o chiudere/riavviare il sistema. Tramite GUI si può impostare per comparire come icona, mostrando l'immagine dell'utente, o mostrare il nome utente o il nome completo.
-
Systray : non ha bisogno di presentazioni. C'è da premettere che la tray è ancora una bozza in be-shell, le icone mostrate possono essere nascoste tramite GUI :
SystemTray ->
Configure e col tasto dx mettere la spunta a hidden alla applicazione che si desidera nascondere. La spunta fallback invece rappresenta le icone di default, grezze e non configurabili. Sembre nella GUI la voce
Show Nasty Ones si riferisce alle icone normalmente inutili - e nascoste di default.
-
Taskbar : la taskbar
[tasks]
ButtonMode=0
Buttons=kate,konsole,settings,dolphin,apper,smplayer,chrome,quassel,amule
OnlyCurrentDesk=true
OnlyCurrentScreen=false
OnlyMinimized=false
Spacing=2
Type=TaskBar
Spacing si riferisce ai px di spazio tra una task (o un bottone) e un'altra. Si può usare anche per la tray.
Buttons si riferisce a bottoni usati come lanciatori, quindi sempre visibili (ve l'avevo detto!)
ButtonMode è l'equivalente di Mode per i bottoni. Si riferisce solo alla taskbar. Per eventuali bottoni inseriti bisognerà specificare per ciascuno la linea Mode nella sua configurazione.
Da segnalare un bug che ho riscontrato per i bottoni inseriti nella taskbar: impostando un testo personalizzato le modalità Mode= 1, Mode=2 e Mode=3 mostreranno il testo personalizzato solo se l'applicazione non è attiva, altrimenti comparirà il testo della barra del titolo della finestra

Prima funzionava, aspetto che sia fixato.
Le altre modalità penso si spieghino da sole, aggiungete per una maggiore precisione e settatele a piacere (
True o
False)
-
Volume: un pulsante che rappresenta la percentuale del volume. Bisogna impostarne le variabili. Es.
[Volume]
Channel=Master
MixerCommand=kmix
Step=5
Type=Volume
Step si riferisce al volore per cui il volume sarà abbassato e incrementato all'azione della rotellina del mouse.
Ora i sensori chiamati
Meters sono CpuMeter , RamMeter, e NetMeter.
[NET]
Mode=NonInactive
PollInterval=5000
Type=NetMeter
[RAM]
Mode=NonInactive
PollInterval=5000
Type=RamMeter
[CPU]
Mode=NonInactive
PollInterval=5000
Type=CpuMeter
Le modalità per RamMeter sono NonInactive (di default), Active, Used.
PollInterval si riferisce alla percentuale in millisecondi di aggiornamento dei sensori. I valori qui riportati sono di default,
- Stretch : uno spaziatore.
Oltre le applet è disponibile Be::Run , un menù o runner per avviare le applicazioni. Be::Run può essere configurato come menù classico: qdbus org.kde.be.shell /Runner togglePopup <x> <y> ( i valori x e y si riferiscono all'allineamento sul vostro schermo), associato ad un bottone, come da esempio:
[search]
Exec=qdbus org.kde.be.shell /Runner togglePopup 1680 25
Icon=$HOME/.kde4/share/apps/be.shell/Themes/Chakra Theme/Search
Label=...
Mode=0
Type=Button
Esiste una scorciatoia per evitare di impostare i valori x e y , di modo che il menù si allinei in automatico :
DBus=session;org.kde.be.shell;/Runner;org.kde.be.shell;togglePopup;$x;$y
Altre modalità sono come popup a comparsa (nota: non è necessario specificarlo, configurando una scorciatoia li si può utilizzare direttamente senza accennarli nella configurazione) :
qdbus org.kde.be.shell /Runner showAsDialog
Potete impostare una combinazione di tasti per richiamarlo in
impostazioni di sistema ->
scorciatoie e gesti ->
scorciatoie globali della tastiera e alla voce BE::shell immettete una combinazione di tasti personalizzata e confermate con "applica".
BE::Run supporta le trasparenze, da specificare nella configurazione:
[BE::Run]
ARGB=true