对于 Ubuntu 新手来说,拒绝 GUI 是否有实际意义?

对于 Ubuntu 新手来说,拒绝 GUI 是否有实际意义?

我的 Ubuntu 是 12.04。

我刚开始学习 Linux(特别是 Ubuntu)。为了更快地记住终端命令,我不想使用 GUI。

但是,我无法启动已安装的程序,因为我不知道它们在哪里。

例如,我有一个 PDF 文件。我知道有一个程序可以查看此类文件。如果我使用 GUI,我只需单击 PDF 文件,它就会在 Document Viewer 3.4.0 中打开。

然后我想启动 Firefox Web 浏览器。即使我知道它已安装,如何仅使用 CLI 找到要启动的文件对我来说是个谜。

您能提出什么建议吗?

答案1

老实说,对于大多数这些程序来说,只需知道它们的名称就足够了。从存储库安装时,它们往往会将自己添加到您的路径中,或者指向应用程序二进制文件的符号链接已添加到您路径中的文件夹中。

而且,人(手册!)是你最好的朋友!

man apt-get | less

然后,您可以逐行上下滚动,而不必浏览整个页面(取决于您的版本/发行版,这可能是 man 的默认功能),当尝试获取下一行输出时,它非常有用。

最后,但绝对不是最不重要的一点,如果你是 Linux 新手,你的包管理器 apt-get 将成为你最好的朋友。为了获得经验,你应该从源代码安装一些程序,但了解你的包管理器并能够搜索它将非常有价值,可以节省时间。

希望这对某些人有帮助。

答案2

大多数可执行文件都在/bin或中/usr/bin。例如,您可以在 中找到 Firefox /usr/bin/firefox。这两个路径都在您的 $PATH 中,因此您可以使用制表符补全来选择您的应用程序

答案3

正如其他答案所述,通常当您安装包时,它的可执行文件会被添加到公共路径中,因此如果您知道要使用的应用程序的名称,那么只需写下它的名称。

如果您想知道执行特定应用程序的命令,这个技巧可以帮助您:

xprop | grep WM_CLASS

这将允许您单击当前打开的任何窗口,并可能获得启动该应用程序所需的命令。例如,单击文档查看器(pdf 阅读器)窗口,我获得WM_CLASS(STRING) = "evince", "Evince",这是evince用于打开文档查看器的命令。如果它不起作用,您可以尝试用WM_CLASSWM_COMMAND替换WM_DESKTOP_FILE(最后一个将显示 .desktop 文件的位置)。

如果你需要知道哪个应用程序提供了“命令”,你可以使用which

which evince
/usr/bin/evince

但有时你安装的程序会将其可执行文件放在一些不常见的位置。例如PostgreSQL。如果您安装存储库中可用的任何版本,其可执行文件将放在 中/usr/lib/postgresql/<version>/bin/。如果您尝试执行initdb(PostgreSQL 命令),系统将无法找到该命令。在这种情况下,您可以使用apt 文件搜索哪个软件包提供了该initdb程序以及安装软件包后它将被放在哪里

apt-file search initdb
<omitted results>
postgresql-9.1: /usr/lib/postgresql/9.1/bin/initdb
<omitted results>

你也可以使用locate来尝试找到你需要的命令的位置。再次使用initdb作为示例:

locate initdb
/etc/alternatives/initdb.1.gz
/usr/lib/postgresql/9.1/bin/initdb
/usr/share/man/man1/initdb.1.gz
/usr/share/postgresql/9.1/man/man1/initdb.1.gz

希望这些建议能对你有帮助。

答案4

实用性

让我们先解决这个问题。命令行在 Linux 世界中必不可少。许多任务必须通过命令行完成,或者至少最好这样做,例如调试。当然,你可以不学习命令行,但你可以在命令行中而不是 GUI 中更好地控制你的机器。此外,你学到了很多东西。

对于新手来说,学习命令行的最佳方式是让你的学习过程实用。例如,我是一名大学生,目前正在学习 C 语言编程。到目前为止,我只在命令行中编程,使用 gcc 编译器和 nano 文本编辑器,这就是我真正需要的。我通过这种方式学到了很多东西,使用 GUI 风格的应用程序时学到的东西更多(甚至不要让我开始使用 Microsoft 的 Visual Studio - 真恶心)。

另一个建议,也与使事情变得切实相关,那就是,找到命令行解决方案来执行你原本需要使用 GUI 执行的操作。例如,家里的互联网连接有时会断开,我无法访问任何网站,即使网络图标显示已连接。所以我写了一个脚本,可以关闭和打开 wifi,网络管理器会自动连接到我的家庭网络

#!/bin/mksh
printf "\n Turning wifi off";
nmcli nm wifi off; 
sleep 2; 
printf "\n Turning Wifi on"
nmcli nm wifi on; 
#printf "\n Gonna observe how Network Manager reconnects\n Press Ctrl+C when done ";
#sleep 2;
watch -n1 nmcli dev status

我经常在笔记本电脑前睡着,所以我编写了一个脚本,在执行该脚本一小时后关闭计算机。

    #!/bin/mksh
sudo shutdown -P +60

这样,我只需要shut在终端中输入我的 sudo 密码,而不用输入所有密码。昨天的另一个问题要求手动更改亮度,所以至少对于我自己的机器,我编写了一个脚本,它将在 nano 文本编辑器中打开控制亮度的文件。

#!/bin/mksh
printf " \n Entering file to change brightness in 3 seconds\n remember - no new line after number.  ";
sleep 3;
sudo nano /sys/class/backlight/acpi_video0/brightness

你明白我在说什么吗?所有这些命令都可以通过 GUI 替代方案完成。但这样你就可以以实用的方式学习命令行。比如在命令行中检查电子邮件、发送电子邮件、检查电池电量,或者……(无穷无尽)

而且当然,在 askubuntu.com 上查找此处发布的问题的解决方案。虽然我对 Linux 世界还很陌生(2014 年春季开始使用 13.10),但通过阅读其他人的帖子和提问,我学到了很多东西。解决实际问题非常有价值。

其他一些建议

第一个启动的程序

如果您只关心启动应用程序,则可以使用Classic Menu IndicatorGnome Do。Gnome Do 会在您启动计算机时启动,并且是您登录 GUI 会话时看到的第一件事。输入应用程序的名称,它就会启动。例如,我在手机上看到了您的问题,打开笔记本电脑,登录,在 Gnome Do 中输入“firefox”,然后我就在这里 - 输入这个答案。

打开文件但不知道使用哪个程序

在终端(又名命令行)中,您还可以使用名为 的东西gnome-open。例如,如果我想打开一个名为 random.pdf 的 pdf 文件,我会输入 gnome-open random.pdf,然后 voila - 文档查看器(又名 Evince)会打开我的 pdf 文件。

如果您想知道哪个程序打开了该文件怎么办?您可以转到该程序下拉菜单中的“关于”或“帮助”选项卡,或者,您可以ps ax在终端中运行。例如,我用 gnome-open 打开了一个随机文本文件,它调出了一些文本编辑器,但我想知道它是哪个。因此,我执行了 ps ax

在此处输入图片描述

您看到进程 4149 所在的行了吗?上面写着gedit /home/sergiy/random。因此,我的随机文本文件已使用 gedit 文本编辑器打开。

正如其他用户指出的那样,您可以使用which命令。该命令的源文件或二进制文件怎么样(因为 unix 中的所有内容都是文件)?使用 where is 命令,例如whereis bash。找到特定文件 file ?没问题!locate random.txt

学习命令行

每种学习方式都需要资源。确保你研究互联网并阅读书籍。就我而言,我从非常非常古老的 Unix System V 书籍开始,现在我有了“Ubuntu Linux 工具箱”这本书主要讲的是命令行。

现在,我想为 Linux 编写一些东西作为我的最终编码项目,所以我现在使用的是高级Linux编程- 一本在线书籍。既实用又有教育意义,而且你还可以学习命令行。

结论

学习命令非常有益、有趣,并且会让你更好地了解操作系统的底层原理。这就像汽车——当然,你可以在不打开引擎盖的情况下驾驶,但是当出现问题时,你至少会知道你在做什么,而不必跑到商店去。只要记住我说的话——学习必须实用,并且你自己必须使其实用。

奖金:下面是我喜欢使用的一些命令行工具:

  • elinks - 当我弄乱了我的 gui,并且在 tty 中除了命令行(Ctrl+Alt+F1)什么都没有时,这个命令行浏览器就派上用场了。
  • byobu - 有时拥有一堆指标或选项卡(如 gui 中那样)会很不错。Byobu 在命令行中为您提供了这些
  • moc 播放器 - 当你搞砸了 gui,需要花几个小时修复时,它非常有用,同时你还可以听音乐
  • Htop - 查看进程,top 的替代品
  • nano - 命令行文本编辑器。我现在大部分的写作都在这里
  • olive-在命令行中阅读新闻
  • mutt 和 alpine - 电子邮件;不过需要几个小时来配置。
  • doc2txt - 我很确定这个项目是另一个包的一部分。我通常用它将教授的作业转换成我可以阅读的文本,当然是在命令行中

相关内容