Linux sem sistema operacional gráfico, mas com recursos gráficos

23

Minha primeira experiência com computador foi com um Commodore. Eu gostaria de ter um computador com Linux parecido com isso. Eu queria saber se era possível ter algo semelhante usando o Linux.

O que eu gostaria de ver é quando eu inicializo minha máquina na linha de comando, e não em uma GUI, mas tenho recursos gráficos disponíveis. Então, quando digito digo: o Firefox, o programa e sua interface gráfica serão disponibilizados. Quando saio do Firefox, ele retorna para a linha de comando. Se eu precisar navegar pelo sistema de arquivos, digamos que eu digitei: XFE ou qualquer outro gerenciador que esteja sendo usado e ele aparece e me permita navegar na pasta, e quando eu sair, ele retornará para a linha de comando novamente. Portanto, a capacidade de executar, gerenciar e usar programas sem ter que usar uma GUI, mas tem gráficos disponíveis.

Seria bom ter tudo isso voltado para a programação. Portanto, na linha de comando BASH, é possível chamar um IDE do ambiente de compilador e começar a escrever programas sem se distrair com um ambiente de desktop.

E se mais de um programa gráfico estiver rodando, então eu tenho um gerenciador de janelas com guias. Isso é viável ou estou sonhando?

    
por Linuxuser00 26.04.2016 / 00:52

11 respostas

43

Acho que você pode obter o que deseja usando um Gerenciador de Janelas lado a lado, como i3 ou xmonad . Existem outros gerenciadores de janelas minimalistas com funcionalidade semelhante. O i3 e o xmonad estão nos repositórios do Ubuntu, por isso são fáceis de instalar e, em seguida, você pode selecioná-los na tela de login.

    
por Eduar 26.04.2016 / 01:03
24

Eu temo que você perca a principal diferença entre os ambientes de computação modernos e os da era C-64. Os computadores domésticos da era C-64 eram de usuário único, sistemas de processo único e não compartilhavam os recursos dos computadores com outros processos. Isto simplesmente significa que quando você executaria um programa no seu C-64 que fosse um programa gráfico, ele reconfiguraria o hardware de seu computador para estar no modo 'graphics' e então seu programa em execução manipularia toda a saída gráfica, e o usuário entrada do mouse e do teclado em si.

Os computadores modernos e seus softwares, por outro lado, são multiusuário, multiprocesso, mas não apenas isso, o software moderno depende de bibliotecas compartilhadas, por exemplo, o Firefox depende da biblioteca de janelas GTK, que por sua vez depende de outro nível inferior bibliotecas. Então, para o Firefox rodar, depende de toda uma pilha de software e configuração.

Como há muito software subjacente, isso torna mais eficiente permanecer em um ambiente gráfico quando é inicializado, em vez de carregar o ambiente gráfico para o Firefox, depois desligá-lo e, em seguida, inicializar o ambiente gráfico para o Firefox. outro programa, assim por diante e assim por diante.

Você pode simplesmente iniciar e executar qualquer programa GUI do Linux a partir de uma janela de terminal (console), então aconselho que escolha um ambiente gráfico simples, talvez Enlightenment ou Openbox , e apenas execute tudo a partir de uma janela terminal / xterm.

    
por David 26.04.2016 / 01:43
11

Eu concordo com o Eduar, você provavelmente quer um Gerenciador de Janelas / Lidar Dinâmico (WM). Mas ninguém é diretamente abordado:

  

O que eu gostaria de ver é quando eu inicializo minha máquina na linha de comando

Atualmente, você deve inicializar em um Gerenciador de exibição (DM) no qual você faz login. Então você tem duas opções, inicializar em um shell ou um console DM.

Se você não tem DMs configurado, você irá, por padrão, entrar em um shell, isto lhe dará um prompt de login de nome de usuário e senha, Se você digitar as credenciais corretas, você entrará no seu shell padrão. Eu uso isso e o seguinte é aproximadamente o meu 'processo' de inicialização:

Arch Linux 4.1.5-1-ARCH (tty1)

localhost login: Joe
Password: 
$ startx

Se você quer ter um DM, mas um console, você terá que instalá-lo e configurá-lo. O wiki do Arch atualmente diz que existem três DMs de console sendo: CDM, Console TDM e nodm .

O Ubuntu usa o LightDM por padrão , então você pode ter que removê-lo.
como alguém que atualmente não tem um DM, eu recomendaria manter seu DM atual, e apenas mude o seu WM. É tedioso ter que digitar startx e da memória, fazendo com que ele seja executado automaticamente corretamente, o que incomoda a configuração.

    
por Peilonrayz 26.04.2016 / 17:49
10

startx e xinit podem receber um cliente inicial para começar. O seguinte comando:

startx /usr/bin/firefox

irá girar um xserver no TTY que você está trabalhando atualmente, e iniciar uma única instância do firefox em algo como tela cheia. Você pode alternar para outros ttys para evitar ter que derrubar a sessão do firefox apenas para voltar ao console, ou trazer outros clientes para lá. Você pode ter que especificar muitas opções para tornar isso agradável para o seu monitor, já que você não terá o ambiente de área de trabalho fazendo parte dessa configuração para você.

Você deve estar ciente de que alguns xclients não funcionam bem fora dos gerenciadores de janelas ou ambientes de desktop. Não há nenhum DE fornecendo decorações de janelas, e nenhum WM escutando combos de chaves MOD, então se eles não fornecerem uma maneira gráfica de sair você terá que matar o processo (ou X) de outro TTY.

Normalmente, o cliente inicial que as pessoas usam com o X é um ambiente de desktop ou gerenciador de janelas, que é apenas um tipo especial de cliente que lança e incorpora outros clientes, além de exibir sua própria janela.

    
por Steve Cox 27.04.2016 / 00:01
10

Alternativas

Modo Framebuffer

Existem alguns programas que podem ser executados no modo framebuffer. O modo framebuffer permite que um aplicativo tenha a tela toda para si, permitindo que o aplicativo desenhe o que quiser na tela pixel a pixel. Nem todos os programas suportam, mas existem alguns que o suportam.

O modo Framebuffer não requer um X Server (como X.org no caso de versões atuais do Ubuntu, ou em um futuro próximo talvez Mir ou Wayland dependendo de qual se torne mais popular), ou qualquer janela ambiente gerenciador / desktop a ser iniciado. Isso deve dar a você um texto mais rápido para a troca de modo gráfico (e vice-versa), especialmente como na maioria dos distros Linux modernos e drivers de gráficos que os consoles Alt-F[1-6] são renderizados usando o modo framebuffer de qualquer maneira.

"Interface do usuário de texto" (TUI)

Alguns programas que normalmente são suportados apenas pela linha de comandos usando um mouse via gpm . No Ubuntu, tudo que você precisa fazer é apenas instalar o pacote gpm e ele deve funcionar imediatamente sem qualquer configuração ou mesmo reinicialização necessária (IIRC). Depois que gpm for instalado, o ponteiro do mouse será mostrado como um cursor de texto em estilo de bloco e você poderá usar o mouse normalmente para clicar nos elementos da interface do usuário. Você também pode destacar o texto e usar copiar e colar.

Se você quiser ir um pouco mais longe, existe até um "gerenciador de janelas" que permite executar vários aplicativos de terminal no mesmo modo de texto "desktop".

Lista não exaustiva de programas que suportam o modo framebuffer

  • mc (Midnight Commander) - gerenciador de arquivos
  • Links / Links 2, Netsurf - navegadores da web
  • fbi - visualizador de imagens
  • fbgs (relacionado ao fbi, parte do mesmo conjunto), fbpdf - visualizador de PDF
  • mplayer, fbff (baseado em ffmpeg) - reprodução de áudio / vídeo
por Pabru 26.04.2016 / 11:50
4

Procure usar um gerenciador de janelas como o FVWM2, em vez de um "desktop". Você pode configurá-lo para abrir apenas um (ou mais) xterms na inicialização, pode executar qualquer aplicativo gráfico como um navegador da web a partir da linha de comando, não é incomodado por coisas como "bandeja do sistema" ou ícones para tudo, mas pode adicionar qualquer parte que você possa encontrar para ser realmente útil. (No meu caso, é uma janela de pager para várias telas e um monitor de carga Conky).

    
por jamesqf 26.04.2016 / 20:25
4

Isso é muito possível.

Primeiro, você precisa desativar a inicialização gráfica. Então você quer "Single User Mode" (avisando que existem alguns riscos de segurança muito extremos com isso), finalmente você precisa resolver o que fazer quando você quer rodar uma GUI.

Veja Como faço para inicializar em um único usuário? modo do GRUB?

Essencialmente, você adiciona a opção single à sua configuração de inicialização do GRUB. Você pode fazer isso no seu arquivo / etc / default / grub para tornar as mudanças permanentes.

Veja Como faço para desativar o X no momento da inicialização para que o sistema inicialize no modo de texto?

Essencialmente, você adiciona text às suas opções em /etc/default/grub

Isso lhe dará um único usuário, somente texto. O próximo passo é usar a GUI. O programa que você deseja executar é startx

Você executaria

startx /path/to/executable

O problema é que você provavelmente quer um gerenciador de janelas de algum tipo. Sugiro twm suas necessidades.

sudo apt-get install twm

Em seguida, para executar os comandos, eu diria que execute startx , em seguida, volte ao seu console (CTRL + ALT + F1) e faça algo como export DISPLAY=:0 . Agora, sempre que você for um aplicativo GUI a partir da linha de comando, ele será iniciado no "Graphics Side", com o qual você pode acessar Ctrl + Alt + F7 (geralmente).

Se você gosta dessa configuração, pode até automatizar a configuração dela com um script.

É tão perto quanto você vai conseguir, sem muito trabalho.

    
por coteyr 27.04.2016 / 02:31
3

Acho que você pode conseguir o que quiser sem jogar fora a área de trabalho. Como outras respostas cobriram, você provavelmente obterá melhor desempenho com a área de trabalho de qualquer maneira e há razões técnicas que executam o linux como um sistema operacional mais antigo realmente não funcionaria.

Vou usar o gnome como meu fluxo de trabalho de exemplo porque é o que eu sei, mas imagino que outros ambientes de desktop também suportariam uma funcionalidade semelhante. No gnome 3, você pode ter um espaço de trabalho (ou múltiplos) com um terminal de tela cheia que tenha a mesma aparência de executar somente no modo de linha de comando. O fato de que a área de trabalho do gnome está sendo executada em segundo plano é irrelevante.

Em seguida, usando um gerenciador de janelas (como o discutido em esta questão SO ) para controlar quais novas janelas do espaço de trabalho são criados, você pode forçar cada nova janela a ser colocada em sua própria área de trabalho. Se você estiver disposto a mover janelas quando elas forem criadas, você não precisará de nenhum software além do gnome. O Gnome 3 suporta espaços de trabalho automáticos, assim como você abre / fecha janelas na área de trabalho inferior, novas áreas de trabalho são criadas / apagadas automaticamente para elas. Então você pode usar apenas ctrl + alt + arrow para se mover rapidamente entre eles. Quando você fecha uma janela, a área de trabalho em que estava ativada é excluída automaticamente e as duas áreas de trabalho de cada lado se movem juntas. Tudo o que você vê são as janelas abertas e o terminal.

    
por Godric Seer 26.04.2016 / 17:18
3

Eu gosto de ratpoison pelo que você está tentando fazer. Eu não vou postar uma imagem porque você não pode dizer a diferença de uma captura de tela do xterm (ou qualquer aplicativo que você esteja executando). Em sua configuração padrão, exibe uma janela em tela cheia. Você pode dividi-lo para exibir várias janelas, mas para a maioria do meu uso diário eu não. Se você iniciar um emulador de terminal a partir do seu arquivo .ratpoisionrc, receberá um aviso quase imediatamente depois de efetuar login. Ele é inspirado na tela do gnu, e o único conceito que eles perderam foi sessões destacáveis e compartilhadas (mas o vnc preenche essa lacuna) .

    
por hildred 26.04.2016 / 23:51
2

Instale o Xvfb:

apt-get install xvfb

Executar:

/usr/bin/Xvfb :1 &
export DISPLAY=:1

execute então qualquer software gráfico que você goste sem cabeça.

    
por Ian Ellis 19.09.2016 / 14:43
1

Você pode mudar rapidamente para uma interface de linha de comando usando [ctrl] [alt] [F1] (funciona com [F1] - [F12] eu acho). Um deles também voltará para sua GUI quando você precisar de um; Eu acho que é [ctrl] [alt] [F8] no Mint, então você pode querer experimentar esse. Vou me jogar no campo "use um gerenciador de janelas lado a lado"; O i3 é realmente uma ótima ferramenta.

    
por Johnathan Andersen 26.04.2016 / 20:35