GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Cosa fa il comando Startx?

Durante la lettura di Ubuntu ho trovato la seguente affermazione…..

Se il display manager non è avviato per impostazione predefinita nel runlevel predefinito, puoi avviare X in un modo diverso, dopo aver effettuato l'accesso a una console in modalità testo, eseguendo startx dalla riga di comando.

Cosa significa essere un runlevel predefinito?
E quando ho provato questo sul mio terminale ho ottenuto questo:

[email protected]:~$ startx

X: user not authorized to run the X server, aborting.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

Migliore risposta

C'era una volta(1), quando la memoria dei computer veniva misurata in kilobyte e i dischi in megabyte, eseguire continuamente l'interfaccia grafica era considerato dannoso.

La maggior parte dei computer Unix veniva utilizzata per calcoli scientifici e simulazioni in ambienti multiutente e l'interfaccia grafica in esecuzione su di essi ridurrebbe la memoria e la potenza della CPU a loro disposizione.

Quindi, quando avevi bisogno di un'interfaccia grafica, l'hai appena avviata con startx (2).

startx fondamentalmente esegue un Xserver (il "driver" grafico) e un comando che viene eseguito su di esso, che in genere è un gestore di finestre. Per impostazione predefinita, i comandi eseguiti sono in ~/.xinitrc file nella tua home directory, o in qualche altro file di sistema generico.

Si ritiene che i sistemi moderni dal basso verso l'alto abbiano un sistema grafico sempre in esecuzione, quindi probabilmente nessuno ha verificato il funzionamento di startx per secoli — questo spiega molti comportamenti strani che puoi avere.

Se vuoi sperimentare e vivere i bei vecchi tempi, la cosa migliore è fare quanto segue:

A) installa Xnest e fvwm . Xnest è un server grafico all'interno di un server, una specie di server che si aprirà come una finestra nel tuo sistema normale. Fvwm è un gestore di finestre molto semplice che era molto popolare all'epoca. Avrai bisogno anche dei vecchi font pixmap.

sudo apt-get install xnest fvwm 
sudo apt-get install xfonts-100dpi xfonts-100dpi-transcoded xfonts-75dpi-transcoded xfonts-75dpi 

B) scrivi questo file da qualche parte, ad esempio nella tua home directory, e chiamalo ~/test :

#!/bin/bash 
#
xterm & 
exec fvwm2

C) Esegui (nota:startx viene normalmente eseguito con prima il comando client, quindi un doppio trattino e quindi un comando server. Come ho detto, la maggior parte dei nuovi sistemi non ha impostazioni predefinite ragionevoli per startx da solo.).

cd ~
startx ~/test -- /usr/bin/Xnest -ac :1 -geometry 800x600

…e hai uno schermo da workstation degli anni '80:

(Puoi avere il menu facendo clic sul desktop "Xnest").

Correlati:problema di visualizzazione durante la regolazione della luminosità in Ubuntu 12.04?

... e se ti senti davvero avventuroso, puoi avviare una sessione nativa su un'altra console virtuale (leggi le altre risposte) andando su una di esse con Ctrl-Alt-F1, accedi e

startx ~/test 

che normalmente si aprirà su Ctrl-Alt-F8.

Avviso :gli ambienti desktop moderni non sono progettati per funzionare contemporaneamente, per lo stesso utente, in due console diverse. Quindi non usare gnome-shell o unity o cose moderne quando fai questi esperimenti, o potresti rovinare la tua configurazione.

Note a piè di pagina:

(1) Parlando di circa il 1980-90 qui.

(2) Ad esempio, avevo un laptop con 256k di RAM. Era dolorosamente lento nell'interfaccia grafica (B&N!), ma scattante nella console. Quindi ho fatto la maggior parte del mio lavoro (modificando C , LaTeX e file simili) in modalità console, ed è passato all'ambiente grafico solo quando realmente necessario.


Ubuntu
  1. Cosa fa Eco $? Fare??

  2. Cosa fa . ~/.bashrc Comando Fare??

  3. Che cosa restituisce il comando Ls -al .*?

  4. Cosa significa &alla fine di un comando Linux?

  5. Cosa significa - in questo comando Linux?

Comando file Linux:cosa fa e come usarlo

ExplainShell:scopri cosa fa ogni parte di un comando Linux

Cosa fa sudo apt-get update

Cosa significa Cat Command in Linux?

Cosa significa la sintassi |&nel linguaggio della shell?

Cosa fa -e in un bash shebang?