《树莓派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的图形界面调整成自己喜欢的类型了。

相关文章
|
13天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
18 1
|
2天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
|
2天前
|
机器学习/深度学习 数据采集 数据可视化
利用Python进行历史数据预测:从入门到实践的两个案例分析
利用Python进行历史数据预测:从入门到实践的两个案例分析
14 1
|
3天前
|
测试技术 Python
Python模块化方式编程实践
Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
19 2
|
8天前
|
机器学习/深度学习 数据采集 TensorFlow
【Python机器学习专栏】使用Python进行图像分类的实战案例
【4月更文挑战第30天】本文介绍了使用Python和深度学习库TensorFlow、Keras进行图像分类的实战案例。通过CIFAR-10数据集,展示如何构建和训练一个卷积神经网络(CNN)模型,实现对10个类别图像的识别。首先安装必要库,然后加载数据集并显示图像。接着,建立基本CNN模型,编译并训练模型,最后评估其在测试集上的准确性。此案例为初学者提供了图像分类的入门教程,为进一步学习和优化打下基础。
|
8天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
8天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。
|
8天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
28 2
|
9天前
|
数据可视化 API Python
Python绘图工具seaborn,教会你如何绘制更加精美的图形(二)
Python绘图工具seaborn,教会你如何绘制更加精美的图形(二)
|
9天前
|
数据可视化 Linux API
Python绘图工具seaborn,教会你如何绘制更加精美的图形(一)
Python绘图工具seaborn,教会你如何绘制更加精美的图形(一)