没有图形操作系统但有图形资源的 Linux

Lin*_*r00 25 command-line

我的第一次计算机体验是使用 Commodore。我想让 Linux 计算机与此类似。我想知道是否有可能使用 Linux 有类似的东西。

我希望看到的是当我将机器引导到命令行,而不是引导到 GUI 但有可用的图形资源时。因此,当我输入:Firefox,程序及其图形界面可用。当我退出 Firefox 时,它返回到命令行。如果我需要浏览文件系统,请说我输入了:XFE 或正在使用的任何管理器,它会出现并允许我浏览文件夹,当我退出时,它会再次返回到命令行。因此,无需使用 GUI 即可运行、管理和使用程序,但具有可用的图形。

将所有这些都用于编程会很好。因此,在 BASH 命令行中,能够调用编译器环境 IDE 并开始编写程序,而不会被桌面环境分心。

如果不止一个图形程序正在运行,那么我想有一个选项卡式窗口管理器。这是可行的还是我在做梦?

小智 43

我认为您可以使用平铺窗口管理器(例如i3xmonad )获得您想要的东西。还有其他具有类似功能的简约窗口管理器。i3 和 xmonad 都在 Ubuntu 存储库中,因此它们易于安装,然后您可以在登录屏幕中选择它们。

  • @Linuxuser00:我认为这只是配置问题。大多数平铺窗口管理器的用户喜欢使用他们的大屏幕并排显示信息,但他们都支持在几个全屏应用程序之间切换。 (12认同)

Dav*_*vid 25

恐怕您忽略了现代计算环境与 C-64 时代之间的主要区别。C-64 时代的家用计算机是单用户、单进程系统,不与其他进程共享计算机资源。这很简单地意味着,当您在 C-64 上运行图形程序时,它会将您的计算机硬件重新配置为“图形”模式,然后您运行的程序将处理所有图形输出,而用户来自鼠标和键盘本身的输入。

相比之下,现代计算机及其软件是多用户、多进程的,但不仅如此,现代软件还依赖于共享库,例如 Firefox 依赖于 GTK 窗口库,而后者又依赖于其他较低级别的库。所以为了让 Firefox 运行,它取决于一整套软件和配置。

因为有这么多底层软件,这使得一旦启动就留在图形环境中,而不是为 Firefox 加载图形环境,然后将其关闭,然后再为另一个程序启动图形环境,效率更高,等等等等。

您可以非常简单地从终端(控制台)窗口启动和运行任何 Linux GUI 程序,因此我建议您选择一个简单的图形桌面环境,可能是EnlightenmentOpenbox,然后从终端/xterm 窗口运行所有内容。


Pab*_*bru 11

备择方案

帧缓冲模式

有一些程序能够在帧缓冲模式下运行。帧缓冲模式允许应用程序拥有自己的屏幕,允许应用程序在屏幕上逐个像素地绘制它想要的任何内容。并非所有程序都支持它,但有一些程序支持。

帧缓冲模式不需要 X 服务器(例如X.org在当前的 Ubuntu 版本的情况下,或者在不久的将来MirWayland取决于哪个变得更流行),或任何要启动的窗口管理器/桌面环境。这应该为您提供更快的文本到图形模式切换(和返回),尤其是在(大多数?)现代 Linux 发行版和图形驱动程序上,Alt-F[1-6]控制台无论如何都是使用帧缓冲模式呈现的。

“文本用户界面”(TUI)

某些通常仅支持命令行的程序支持通过gpm. 在 Ubuntu 上,您需要做的就是安装软件包gpm,它应该可以立即运行,无需任何配置,甚至不需要重新启动 (IIRC)。一旦gpm被安装,你的鼠标指针会显示为一个块风格的文本光标,你可以使用鼠标正常点击在用户界面的元素。您还可以突出显示文本并使用复制和粘贴。

如果您想更进一步,甚至还有一个“窗口管理器”,它允许您在同一文本模式“桌面”上运行多个终端应用程序。


支持帧缓冲模式的程序的非详尽列表

  • mc (Midnight Commander) - 文件管理器
  • Links/Links 2, Netsurf - 网页浏览器
  • fbi - 图像查看器
  • fbgs(与 fbi 相关,属于同一套件的一部分)、fbpdf - PDF 查看器
  • mplayer, fbff (基于 ffmpeg) - 音频/视频播放


小智 11

我同意 Eduar,您可能需要平铺/动态窗口管理器 (WM)。但没有人直接解决:

我想看到的是当我将机器启动到命令行时

目前你应该启动到一个显示管理器您登录(DM)。所以你有两个选择,启动到 shell 或控制台 DM。

如果您没有设置 DM,那么默认情况下您将登录到一个 shell,这会给您一个用户名和密码的登录提示,如果您输入正确的凭据,那么您将登录到您的默认 shell。我使用它,以下大致是我的平均启动“过程”:

Arch Linux 4.1.5-1-ARCH (tty1)

localhost login: Joe
Password: 
$ startx
Run Code Online (Sandbox Code Playgroud)

如果你想要一个 DM,但是一个控制台,那么你必须安装和配置它。 Arch 的 wiki目前说有三个控制台 DM:CDM、Console TDM 和nodm

Ubuntu 默认使用 LightDM,因此您可能需要将其删除。
作为目前没有 DM 的人,我建议保留您当前的 DM,只需更改您的 WM。必须输入startx并从内存中使其自动正确执行是很乏味的设置,这很烦人。


Ste*_*Cox 10

startx 和 xinit 都可以作为初始客户端开始。以下命令:

startx /usr/bin/firefox
Run Code Online (Sandbox Code Playgroud)

将在您当前正在使用的 TTY 上启动一个 xserver,并以全屏方式启动一个 firefox 实例。您可以切换到其他 tty 以避免为了返回控制台而不得不关闭 firefox 会话,或者在那里打开其他客户端。您可能需要指定很多选项才能使您的显示器看起来更漂亮,因为您不会让桌面环境为您执行某些配置。

您应该知道一些 xclient 在窗口管理器或桌面环境之外不能很好地工作。没有 DE 提供窗口装饰,也没有 WM 侦听 MOD 键组合,因此如果它们不提供退出的图形方式,您将不得不从另一个 TTY 终止进程(或 X)。

通常,人们使用 X 的初始客户端是桌面环境或窗口管理器,它只是一种特殊的客户端,除了显示自己的窗口外,还可以启动和嵌入其他客户端。


jam*_*sqf 5

考虑使用像 FVWM2 这样的窗口管理器,而不是“桌面”。您可以将其配置为在启动时仅打开一个(或多个)xterm,可以从命令行运行任何图形应用程序,例如 Web 浏览器,不受桌面内容(如“系统托盘”或所有图标)的困扰,但可以添加您可能会发现其中的任何内容实际上是有用的。(就我而言,这是一个用于多个屏幕的寻呼窗口和一个 Conky 负载监视器。)


cot*_*eyr 5

这是很有可能的。

First your need to disable graphical boot. Then you want "Single User Mode" (warning there are some pretty extreme security risks with this), finally you need to address what to do when you want to run a GUI.

See How do I boot into single-user mode from GRUB?

Essentially you add the option single to your GRUB boot config. You can do this in your /etc/default/grub file to make the changes permanent.

See How do I disable X at boot time so that the system boots in text mode?

Essentially you add text to your options in /etc/default/grub

This will give you a single user, text only environment. Next up is using the GUI. The program you want to run is startx

You would run

startx /path/to/executable

The problem is that you probably want a window manager of some kind. I would suggest twm your your needs.

sudo apt-get install twm

Then to run commands, I would say run startx then head back to your console (CTRL+ALT+F1) and do something like export DISPLAY=:0. Now when ever you your a GUI application from the command line it will launch in the "Graphics Side" which you can get to with Ctrl+Alt+F7 (usually).

If you like that setup you can even automate the setup of it with a script.

That it, that's as close as your going to get, with out a lot of work.