GNU/Linux >> Znalost Linux >  >> Ubuntu

Co dělá příkaz Startx?

Při čtení o Ubuntu jsem našel následující prohlášení…..

Pokud není display manager ve výchozím nastavení spuštěn ve výchozí úrovni běhu, můžete X spustit jiným způsobem po přihlášení ke konzole v textovém režimu spuštěním startx z příkazového řádku.

Co to znamená být výchozí runlevel?
A když jsem to zkusil na svém terminálu, dostal jsem toto:

[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

Nejlepší odpověď

Kdysi(1), kdy se paměť počítačů měřila v kilobajtech a disky v megabajtech, bylo neustálé spouštění grafického rozhraní považováno za škodlivé.

Většina unixových počítačů byla používána pro vědecké výpočty a simulace ve víceuživatelském prostředí a grafické rozhraní, které na nich běží, by snižovalo kapacitu paměti a CPU, které mají k dispozici.

Takže když jste potřebovali grafické rozhraní, spustili jste jej pomocí startx (2).

startx v podstatě spouští Xserver (grafický „ovladač“) a příkaz, který na něm běží, což je typicky správce oken. Ve výchozím nastavení jsou spouštěné příkazy v ~/.xinitrc soubor ve vašem domovském adresáři nebo jiný obecný systémový soubor.

U moderních systémů se od zdola nahoru předpokládá, že grafický systém běží neustále, takže nikdo pravděpodobně nezkontroloval fungování startx na věky – to vysvětluje spoustu podivného chování, které můžete mít.

Pokud chcete experimentovat a zažít staré dobré časy, nejlepší je udělat následující:

A) nainstalujte Xnest a fvwm . Xnest je grafický server-in-a-server, druh serveru, který se otevře jako okno ve vašem normálním systému. Fvwm je velmi jednoduchý správce oken, který byl tehdy velmi populární. Budete také potřebovat stará pixmapová písma.

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

B) zapište tento soubor někam, například do svého domovského adresáře, a nazvěte jej ~/test :

#!/bin/bash 
#
xterm & 
exec fvwm2

C) Spusťte (upozornění:startx se normálně spouští nejprve příkazem klienta, poté dvojitou pomlčkou a poté příkazem serveru. Jak jsem řekl, většina nových systémů nemá rozumné výchozí hodnoty pro startx sám.

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

…a máte obrazovku pracovní stanice z 80. let:

(Nabídku můžete zobrazit kliknutím na plochu „Xnest“).

Související:Problém se zobrazením při nastavování jasu v ubuntu 12.04?

…a pokud se cítíte opravdu dobrodružně, můžete zahájit nativní relaci na jiné virtuální konzoli (přečtěte si další odpovědi) tak, že přejdete na jednu z nich pomocí Ctrl-Alt-F1, přihlásíte se a

startx ~/test 

který se normálně otevře pomocí Ctrl-Alt-F8.

Upozornění :moderní desktopová prostředí nejsou navržena tak, aby běžela současně, pro stejného uživatele, ve dvou různých konzolách. Takže nepoužívejte gnome-shell nebo unity nebo moderní věci při provádění těchto experimentů, nebo byste mohli zkazit svou konfiguraci.

Poznámky pod čarou:

(1) Zde mluvíme o letech 1980-90.

(2) Například jsem měl notebook s 256k RAM. Bylo to bolestně pomalé v (ČB!) grafickém rozhraní, ale svižné v konzoli. Takže jsem udělal většinu své práce (editace C , LaTeX a podobné soubory) v režimu konzoly a do grafického prostředí se přepnul pouze tehdy, když je to skutečně potřeba.


Ubuntu
  1. Co dělá ?

  2. Co dělá . ~/.bashrc Příkaz Udělat??

  3. Co znamená hodnota symbolu z příkazu nm?

  1. Co znamená &na konci linuxového příkazu?

  2. Co znamená - v tomto linuxovém příkazu?

  3. Co dělá „exec [email protected]“?

  1. Jak zjistit, co dělá příkaz Linuxu

  2. Co dělá „lc_all=c“?

  3. Co znamená ` (backquote/backtick) v příkazech?