《树莓派Python编程入门与实战》——2.3 使用Raspbian图形用户界面

简介:

本节书摘来自异步社区《树莓派Python编程入门与实战》一书中的第2章,第2.3节,作者【美】Richard Blum,译者 王超,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 使用Raspbian图形用户界面

默认情况下,当你启动树莓派并登录后会进入到Linux命令行。但是树莓派同样还有一个图形用户界面(GUI,Graphical User Interface)。

为了打开图形界面,你需要在命令行键入startx并且回车。然后轻量级的X11桌面环境(LXDE,Lightweight X11 Desktop Environment)就启动了,你可以看到一个类似图2.1的图形界面。


screenshot

提示:

 Linux桌面环境

一个关于Linux的美妙的事情是,你可以随意改变你的桌面环境。你不用总是对着同一个桌面。每一个桌面环境都提供了一个独特的图形化界面跟计算机进行交互。

下面是一些流行的桌面系统。

    KDE——一个跟微软Windows环境相似的桌面。
    Xfce——一个轻量级的但是全功能的图形桌面。
    GNOME——一个历史上很流行的桌面,也是许多Linux发行版的默认桌面。
    LXDE——一个轻量级但是功能强大的桌面,它是专门为小型计算机设计的。

Raspbian默认使用LXDE。本书中对图形界面的描述都是基于LXDE桌面环境的。

2.3.1 LXDE图形界面

在LXDE桌面上,你可以看到几个图标,但是中间的大树莓不是,它是背景图片。桌面图标的简要介绍在表2.2中描述。


screenshot

桌面上图标的会像你所期待的那样工作。你可以使用鼠标双击图标来打开它。你也可以右键单击它,打开下拉菜单,然后选择Open来打开程序。

LXTerminal提供了一个命令行的入口。你可以双击LXTerminal图标启动这个程序。只要窗口打开,你就可以像在命令行提示符界面上一样输入命令。例如,图2.2显示了当你输入whoami时LXTerminal会发生什么。可以看到,LXTerminal可以让你在使用图形界面的同时,使用命令行命令。

技巧:

 我想直接使用图形界面

因为可以通过LXTerminal程序使用命令行,因此你也许想让树莓派直接启动进入图形界面。这可以通过下面的步骤设置。

1.在命令行提示符输入sudo raspi-config并且回车。

2.在文字菜单上,按下箭头按钮直到到达boot_behavior菜单项然后按回车键。

3.当你看到一个新的窗口上显示问题Should we boot straight to the desktop?(直接启动桌面吗?),按Tab选择< Yes >然后按回车键。

4.在配置菜单上,一直按Tab直到选中< Finish >选项,然后按回车键。

5.当你看到一个新窗口显示Would you like to reboot now?(现在重启吗?) ,按Tab选择< Yes >然后回车键。树莓派重启完成后就直接进入LXDE图形界面了,不需要输入用户名和密码。

如果你改变了注意,想在树莓派启动之后进入命令行,你可以运行LXTerminal程序并键入sudo raspi-config来改变启动行为选项。


screenshot

2.3.2 LXPanel

在LXDE图形界面的底部面板,如图2.3所示,有几个值得注意的项目。LXDE的底部面板被叫做LXPanel。它的行为以及它上面的图标都可以通过右键单击面板上的任意位置打开的菜单进行修改。


screenshot

LXPanel最左侧的图标是LXDE程序菜单图标。这个图标不同寻常,它是一种快速飞行的鸟(寓意着LXDE环境已经达到轻快如飞的程度了)。

当你单击这个LXDE程序菜单图标时,你可以看到几个菜单类别和选项(见表2.3)。


screenshot

下一个LXPanel图标是文件管理器。如图2.4所示,文件管理窗口跟微软Windows资源管理器类似,它允许你使用图形化的方式浏览文件和文件夹。


screenshot

文件管理器图标后面是Midori浏览器。然后是最小化所有窗口图标,这是非常好用的功能!如果你的桌面上打开了多个窗口,只需单击这个图标就能把它们最小化到LXPanel面板上。

LXPanel面板左侧的最后两个图标,一个是浅灰色的方框,另一个是浅蓝色的方框,它们是虚拟桌面图标。第一个叫做桌面1,第二个叫做桌面2。它们就像是两个虚拟的显示器。例如,你可以在桌面1打开程序窗口,然后单击桌面2图标,你看不到任何打开的程序窗口,只有一个LXDE桌面。当你单击图标切回桌面1时,你可以看到之前打开的程序窗口。因此,你可以让程序运行在不同的桌面并且可以在它们之前来回切换。这是一个非常不错的功能!

在LXPanel面板的最右侧,如图2.5所示,是注销管理器图标。这个图标能打开LXDE注销管理窗口,它可以让你注销当前的GUI会话。


screenshot

提示:

 LXDE注销管理器的选项

设置树莓派默认启动进入命令行还是图形界面会影响LXDE注销管理器的外观。

如果你的树莓派被设置为启动进入命令行,那么LXDE注销管理器只会显示两个按钮:注销和取消。注销按钮会退出LXDE图形界面进入命令行模式,而取消按钮则取消刚才的注销请求,回到GUI。

如果你的树莓派设置为启动到图形界面,那么LXDE注销管理器将会有两个额外的按钮:关机和重启。正如你所期望的那样,关机按钮关闭树莓派,而重启按钮重启它。

注销按钮的左边是屏幕锁图标。使用屏幕锁,你可以立即锁定你的显示屏。执行此操作后,你只能通过输入用户名和密码重新进入系统。但是,在默认情况下,Raspbian没有预装屏幕保护程序,所以LXDE的屏幕锁功能不起任何作用。不用担心,你可以在动手实验的环节中安装一个屏幕保护程序。

屏幕锁图标旁边是数字时钟,它显示树莓派的当前时间。如果你把鼠标悬停在上边,可以看到当前的日期。你可以用鼠标右键单击该数字时钟图标来查看当前月份的日历,然后再次右键单击隐藏日历。

数字时钟的左边是CPU使用率监视器图标。它以一个非常漂亮的图形显示树莓派当前负载情况。如果一个窗口打开非常慢,你可以看一眼这个图,你应该会发现树莓派非常忙碌。


screenshot

探索LXDE图形界面

现在你已经知道了LXDE图形界面上的各种图标和LXPanel面板上的各种特性,是时候自己动手探索一下树莓派的GUI了。在下面的步骤中,你将有机会同时在命令行和LXDE图形界面中尝试一些东西,例如修复一些可能的问题或恼人的事情。

1.将树莓派连接上网络,如果你还没有做的话。

警告:

 有线和Wi-Fi

在下面的步骤中你会更新你的Raspbian Linux发行版的软件。做这件事情的时候,最好能使用有线网络。使用Wi-Fi连接会比较麻烦,而且由于软件缺陷可能会导致你需要做很多不必要的工作。最安全的方法是就是先连接到有线网络,更新你的软件,然后再尝试连接到无线网络。

2.启动树莓派。

3.在raspberrypi login:提示符,输入pi按回车键;然后你应该能看到Password:提示符。

4.在Password:提示符,输入raspberry或者你在上一个“动手实验”章节创建的密码,然后按回车键,你应该可以看到pi@raspberry~$提示符。

警告:

 你修改密码了吗?

在本章的开始,你可能已经把你的密码从raspberry改成其他的了。如果你沿着上述步骤操作的话,一定要在步骤4中输入该密码。

5.在pi@raspberrypi~$提示符,输入startx然后按回车键,启动Raspbian的LXDE图形界面。

6.LXDE图形界面启动后,单击LXTerminal图标,打开命令行界面。你应该可以看到熟悉的pi@raspberry~$提示符。

7.用鼠标单击选中LXTerminal窗口。输入whoami并且按回车键。你应该可以看到响应和另一个命令行提示符,就跟你在命令行中输入命令一样。

8.为了把Raspbian Linux发行版的软件更新到最新,你可以在同一个LXTerminal窗口输入sudo apt-get dist-upgrade并且回车。你应该可以看到若干软件更新的消息和一个问题Do you want to continue [Y/n]?

9. 输入Y并且按回车键。如果软件已经是最新的了,则你会得到这样一条信息“0 upgrade, 0 newly installed…”;但是,如果你的软件已经严重过时的话,更新会花几分钟时间;软件更新会一直持续下去,直到所有软件都更新完成。

警告:

 获取软件包的问题

如果软件更新很快就结束,并且得到这样一条信息E: Unable to fetch some archives...,则有可能是你的树莓派没有连接到网络或者无法连接到互联网。你必要确保树莓派能访问网络,来保证软件更新能正常进行。

10.现在你的系统已经是最新的了,下面来给你的树莓派添加一个额外的包。你需要安装一个屏幕保护程序包来保证LXPanel上的ScreenLock正常工作。在LXTerminal窗口输入sudo apt-get install xscreensaver并且按回车键。

11.你应该能看到一些软件更新的消息和一个问题Do you want to continue [Y/n]? 输入Y并且按回车键。当提示符再次出现时,屏幕保护程序就安装好了。

12.现在让LXTerminal窗口开着,单击 LXPanel最左侧的LXDE程序菜单图标打开菜单。

13.悬浮在LXDE菜单的Preferences项上打开子菜单,然后单击Screensaver,最后Screensaver的配置窗口会出现,如图2.6所示。

提示:

 响应缓慢的窗口

如果窗口在GUI中打开比较慢也不要感到惊讶。树莓派正在全力工作让它们能迅速打开。如果一个窗口看起来很慢,你可以看看LXPanel面板右侧的CPU监视器,看你的树莓派是否处于较重负载。

14.如果你看到一个窗口显示The XScreenSaver daemon doesn’t seem to be running on display "o:" Launch it now?(XScreenSaver后台进程似乎没有运行在显示器“o:”上,现在启动它?),单击窗口上的OK按钮。

15.在Screensaver配置窗口上,确认选中了Display Modes标签,如图2.6所示。


screenshot

16.单击Mode下拉菜单并且选择Only One Screen Saver。

17.然后还是在Screensaver配置窗口上,在Mode部分下面的列表中,滚动不同的屏幕保护程序窗口直到找到Fiberiamp并且选择它。

18.现在单击配置窗口上的Preview按钮,等几秒后,你应该可以看到屏幕保护程序。

19.单击屏幕保护程序的任意位置返回LXDE图形界面。

20.现在单击Screensaver配置窗口右上角的白色叉号关闭这个窗口,这可能需要几秒时间。

21.你可以单击LXPanel上的ScreenLock图标来测试屏幕锁定。几秒后,屏幕保护程序应该会出现。

22.单击屏幕保护程序窗口的任意位置,这次你不会退回到LXDE图形界面,而是会有一个新窗口弹出,显示Please enter your password。

23.输入密码并且按回车键。

警告:

 你修改密码了吗?

在本章的开始,你可能已经把你的密码从raspberry改成其他密码了。如果你沿着本章开始时的动手实验步骤操作的话,那么你已经把密码从raspberry改成其他密码了!确保你在第23步中输入该密码。

24.当LXDE图形界面再出现时,选择LXTerminal。

25.在LXTerminal窗口,输入exit并且回车来关闭这个窗口。


screenshot

现在你应该已经学会如何将LXDE的图形界面调整成自己喜欢的类型了。

相关文章
|
8天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
8天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
12天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。
|
13天前
|
存储 缓存 JavaScript
python实战篇:利用request库打造自己的翻译接口
python实战篇:利用request库打造自己的翻译接口
26 1
python实战篇:利用request库打造自己的翻译接口
|
1天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
6 1
|
1天前
|
安全 数据处理 开发者
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
7 1
|
1天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
15 0
|
2天前
|
API Python
Python模块化编程:面试题深度解析
【4月更文挑战第14天】了解Python模块化编程对于构建大型项目至关重要,它涉及代码组织、复用和维护。本文深入探讨了模块、包、导入机制、命名空间和作用域等基础概念,并列举了面试中常见的模块导入混乱、不适当星号导入等问题,强调了避免循环依赖、合理使用`__init__.py`以及理解模块作用域的重要性。掌握这些知识将有助于在面试中自信应对模块化编程的相关挑战。
17 0
|
3天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
25 0
|
3天前
|
程序员 索引 Python
06-python数据容器-set(集合)入门基础操作
06-python数据容器-set(集合)入门基础操作

热门文章

最新文章