Esegui una GUI senza desktop


12

Vorrei eseguire un browser Web o una semplice GUI senza eseguire l'intero desktop. Voglio usare il mio Raspberry Pi come un semplice server Web, ma ho ancora una GUI molto semplice per controllare la mia stampante 3D con pochi pulsanti e grafici. Non voglio eseguire l'intero desktop, perché questo rallenterà il Pi. Come potrei farlo?



@goldilocks, per favore, proponi una risposta così posso approvarla. Inoltre, grazie!
TheCodeGeek il

Risposte:


6

La questione di fondo è quella di aggirare qualsiasi gestore di finestre, ecc, che viene eseguito per impostazione predefinita dopo l'avvio X. Se si utilizza un display manager (questo fornisce una schermata di login grafico) si dovrebbe essere in grado di farlo continuare a utilizzarlo.

In ogni caso, crea un file nella tua home directory chiamato .Xclients(con il punto iniziale) che assomigli a questo:

#!/bin/sh

lxterminal  

Sto usando lxterminalcome esempio e perché viene fornito con raspbian. Ora rendi questo file eseguibile:

chmod 750 .Xclients  

Quindi, senza X in esecuzione: 1

startx

Dovresti finire con un semplice terminale sullo schermo, nessuna barra del titolo, nessun bordo e il cursore del mouse X. Puoi avviare altre applicazioni e spostarti con il cursore ma non ci sono menu, ecc.

Se si sostituisce il nome dell'applicazione solitaria per cui si desidera eseguire lxterminal, si inizierà con quello.


1. Puoi uccidere X dall'interno con ctrl-alt-backspace, ma se stai usando un display manager, tornerai al login della GUI. Va bene.


Sorprendentemente ciò non ha funzionato per me :( qualcosa da qualche parte ho sbagliato e inizia semplicemente il normale window manager
Piotr Kamoda,

@PiotrKamoda Non rimango al passo con tutte le possibilità qui - e il tuo commento lascia molte ambiguità - ma raccomanderò di ricercare questo come una domanda generale su Linux .
riccioli d'oro

@goldilocks Mi sono stancato senza successo, nessuno spiega il problema in modo approfondito come hai fatto tu. L'ho provato con raspbian fresco, installato solo PiTFT e wxPython. Sembra che ignorerebbe .xclients (o .Xclients, tutti gli altri file sono in minuscolo?) Funzionerebbe con il file .xinitrc? Ho anche provato a mettere .xclients in / etc / X11 / xinit dove si trovano altri file .xsomething.
Piotr Kamoda,

wiki.archlinux.org/index.php/… è una soluzione che utilizza .xinitrc, potrebbe funzionare per quelli che .xclients non ha aiutato
Piotr Kamoda,

@PiotrKamoda In realtà lo uso ~/.xinitrcsu Raspbian e dovrebbe funzionare ovunque poiché si tratta di una funzione X, ma nota che non utilizzo un accesso grafico. Questo potrebbe rovinare le cose. Se lo fai, il DM predefinito (= display manager, che esegue il login) su Raspbian è lightdm, quindi è quello che vuoi ricercare nella configurazione.
Riccioli d'oro

1

Un'opzione possibile è utilizzare l'inoltro X da un altro computer. Questo caricherà l'applicazione della GUI e la eseguirà come su RaspPi ma il "display" sarà sul computer remoto.

Ad esempio da un altro desktop Linux su cui è in esecuzione X, immettere quanto segue nel terminale "ssh -X pi@xx.xx.xx.xx" (dove xx è l'indirizzo IP). Una volta effettuato l'accesso, è possibile eseguire l'applicazione GUI dalla riga di comando di RaspPi come il browser "midori". In questo caso Midori verrebbe eseguito come se fosse su RaspPi ma la GUI verrebbe visualizzata sul computer remoto, un po 'come un mini desktop remoto che mostra solo una finestra.

Questo può anche essere impostato su un computer Windows usando Putty. Google putty x-forwarding e troverai molte opzioni per configurarlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.