`
wangtingbang
  • 浏览: 36243 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

[转]Linux桌面使用之道

阅读更多

http://blog.csdn.net/redguardtoo/archive/2011/05/08/6403839.aspx

 

=============================================================================================

 

我在个人电脑使用Linux桌面已4年(工作中使用Linux的时间要长的多),深深体会到了Linux桌面的好处.

从某种角度来看,Linux桌面要比Windows桌面好用得多.前提条件是,

  1. 使用者有一定的理性思维
  2. 坚持适合自己的原则
  3. 方法和工具

我使用的Linux发行版是Arch Linux ,其特点(缺点?)是软件更新快,最新的软件包未必经过长时间的严谨测试.所以Arch Linux绝不是发行版中最不折腾人的,我能和它和谐,和其他发行版就不用说了.

第一原则,不折腾

对我而言,使用软件的目的是工作和娱乐.软件只是帮助我实现目的的手段而已,和实现目的无关的资源消耗越少越好.

坚持该第一原则,日常操作就可以很有效率.

选择软件的标准

选软件就是投资

我的标准是选软件要成本小收益大.收益如前所述,就是工作和娱乐.所以只需考虑削减成本了.

具体措施,就是只用少量软件做尽可能多的事.

Arch Linux的流行作风是一日一更新.我使用的软件数量少,要更新的也少.

那么我是否需要一日一更新呢? Arch Linux有这个选项并不等于我必须这么干.今天我刚升级完1.3版本,明天1.4又出来了,为什么我不多等一天,直接升级到1.4呢?

我的作法就是大多数软件我短期内不升级.最常用的软件我会根据需要理性升级.例如,firefox的安全升级我总是及时跟进,Linux的kernel我一年才升级一次.

依据投资收益的原则,我偏爱命令行软件,因为它们不依赖于图形界面库,升级的压力小很多.同类的命令行软件,我会优先考虑依赖的第三方库比较小的.例如用C写的软件优于用python写的软件.

我有个根据编写软件的语言来判定软件是否轻小的主观标准,c < perl < python, ruby, ….. < c++, java.

以下是我用的主力软件,其中的编辑器,浏览器,Shell,桌面,都是功能强大,定制度高,可编程.

编辑器

我用Emacs,考虑到它可以做任何事,可以认为它是轻量级的.

Vim也用,万不得已用nano,结束了.

浏览器

没多少选择,firefox,如上所述,firefox是我更新频繁的软件.

Shell

我用bash,在我的.bashrc中有如下一行,

export HISTSIZE=200000

确保我输入的所有命令都不会丢失,因为我说过,我偏爱命令行软件,但是要记住常用命令行会消耗我很多脑细胞,这是不符合投资收益原则的.所以我让shell替我记住.我只要记住按Ctrl+R可搜索历史就好了.

桌面

Gnome,KDE是绝对不会考虑的.我安装了Xfce4以给我太太用.我使用更轻量级的musca,安装包大小才100K.

其他

网络管理我用Netcfg(命令行) 而不是wicd,因为wicd的依赖多而且曾经折腾过我,播放视频我之用mplayer (命令行),等等.

软件的使用也需维护

安装软件在包管理系统的帮助下很简单.麻烦的是最新软件有时候不稳定,这通常是因为软件的配置文件更新引起的.

将/etc目录下的默认配置文件备份

Linux的软件默认配置文件在/etc/目录下. 我使用分布式版本控制软件git 管理/etc目录,分布式版本控制系统好处很多,最大好处就是数据到处有完整备份,非常安全.具体细节请参考wikipedia .

同类软件mercurial,bzr也可,要考虑的因素是第三方服务器是否支持(对分布式版本控制软件来说,第三方服务器不是必需的).

在Arch Linux上每次更新完系统或者安装最新软件包后,可以考虑手动将/etc目录下的文件用git备份(Debian可自动备份).

sudo git add /etc/
sudo git commit -am "backup"

一旦某个软件工作不正常了,可以检查其/etc下默认配置文件的修改纪录,将配置文件恢复到上一个正常工作的版本.

sudo git log /etc/mysql/my.cnf #check history
sudo git checkout commit_ref(version) /etc/mysql/my.cnf #restoren file

/etc/目录下的临时文件不需要备份,以下是我的.gitignore

*~
*.pacnew
*.pacsave
*.swp
*.pacorig
*.swp
mtab

将用户目录下的用户定制配置文件备份

我也是用git,配置文件备份到github 的服务器上.这里必须用第三方服务器同步配置,因为我使用多台电脑.

具体操作可写成长篇大论,这里不展开了.

将软件版本降级

最新版本的软件可能不稳定,这时降级是必要的.

请参考Archwiki ,实际上很简单,安装名为downgrade的软件,然后让它干所有的体力活就行了.

yaourt downgrade

云备份

电子图书,多媒体文件用专业的云备份服务更好,我推荐Dropbox .

顺便说一下,国内的服务不要用,安全原因,不言自明.

备份操作系统

不用经常作,又有云备份,又有分布式版本控制系统,怕什么.

备份整个硬盘是用Clonezilla ,只是备份操作系统的话用以下命令,

tar zcvpf mylinux.tgz --exclude=/proc/* --exclude=/lost+found --exclude='mylinux.tgz' --exclude=/mnt/* --exclude=/home/username/* --exclude=/sys/* /

我建议用前者,因为省事.

阅读官方文档

照着ArchWiki 安装软件,一般不会有问题.

加入社区

紧急客户支持还是用IRC 比较好,没用过IRC的可以装firefox插件Chatzilla 体验一下.

虚拟机的用处

我虚拟机软件使用VirtualBox,虚拟机为Windows XP,该操作系统我会定期更新安全补丁.软件只安装了IE和firefox.该操作系统我只用来操作网络银行.每次操作完毕,我会重置虚拟机状态到操作前的snapshot.

救急工具箱

即使采用了上述做法,一年中也会有一次倒霉.就是我要用的某个版本的某个软件出问题了.没人能帮忙,不能降级,改软件配置也没用,也没有可用的错误信息.

问题看起来很难,事实上5分钟就能搞定.这往往是因为某软件需要的第三方库的版本出问题了.

比如说firefox不能启动,运行如下命令调试,

strace -o err.txt firefox

读一下err.txt就可以知道是哪个库出问题了.相信我,这是不需要任何编程知识的,猜加google就可以了.

你知道哪个库文件出问题了(保险起见,ldd firefox确认一下).比如/usr/lib/libpng.so.14找不到,简单的解决办法是用另一个版本的库文件代替.

如果/usr/lib/libpng.so.15是存在的,我们可以用该库顶替libpng.so.14,

sudo ln -s /usr/lib/libpng.so.15 /usr/lib/libpng.so.14

通常这样就行了.

万一冒名顶替不行,我们就必须根据丢失的库文件查找需要安装的软件包(pacman没用的),

pkgfile libpng

pkgfile属于软件包pkgtools,所以你必须安装pkgtools,

yaourt -S pkgtools-git

 

分享到:
评论

相关推荐

    探寻Linux桌面之路.pdf

    《探寻Linux桌面之路》这本书主要探讨的是Linux操作系统在桌面领域的应用和发展前景。Linux在服务器市场已经取得了显著的成功,尤其在金融、教育和政府领域得到广泛应用。然而,在个人计算机的桌面市场,Linux的占有...

    红旗Linux桌面版简体中文-红旗linux10

    总的来说,红旗Linux桌面版简体中文版是一个适合中国用户使用的操作系统,它结合了Linux的稳定性和开放性,以及针对中文用户的定制功能,为个人和企业提供了可靠的计算平台。无论是新手还是经验丰富的用户,都能在...

    中文版 Linux 桌面操作系统初级教程

    下面将详细阐述这个中文版Linux桌面操作系统初级教程中的关键知识点。 首先,教程会从Linux的历史和哲学开始,解释为什么Linux是开源的,以及这种开放源码的模式如何促进创新和技术进步。这包括介绍Linux之父林纳斯...

    第二章linux桌面环境

    总之,Linux桌面环境为用户提供了丰富而强大的功能,无论是基础的X Window系统,还是像GNOME和KDE这样的高级桌面环境,都旨在提升用户体验,使得Linux不仅是一个强大的服务器操作系统,也是日常桌面使用的好选择。

    远程访问linux桌面

    除了使用VNC Viewer外,还可以通过Web浏览器远程访问Linux桌面。这通常需要在VNC Server端安装额外的支持组件,例如TightVNC或TurboVNC等支持HTTP代理的服务。这样,用户可以通过任何支持HTML5的浏览器进行访问,...

    砸烂LINUX 桌面.pdf

    【标题】: "砸烂LINUX桌面:对Linux桌面系统的争议与安全性分析" 【描述】: 本文讨论了Linux桌面系统在信息安全领域的挑战,以及它作为Windows替代品的地位。作者指出,尽管Linux受到反微软阵营的推崇,但在系统...

    红旗Linux桌面版 6.0 SP1

    这两个都是非常成熟且用户友好的Linux桌面环境,提供了一整套日常使用的应用程序,如浏览器、办公套件、媒体播放器等。 3. **全中文支持**: 作为针对中国市场的产品,红旗Linux桌面版 6.0 SP1提供了全面的中文...

    jQuery模拟linux桌面

    【jQuery模拟Linux桌面】是一种利用JavaScript库jQuery来创建一个类似Linux操作系统桌面的交互式界面的技术。这个技术主要用于网页应用,让用户体验到与操作Linux桌面类似的交互方式,如图标拖放、快捷方式、启动器...

    Linux桌面参考指南

    《Linux桌面参考指南》是一本全面介绍Linux操作系统在桌面环境中的使用的书籍,旨在帮助读者以轻松有趣的方式理解和掌握Linux的基础及高级应用。该书涵盖了从Linux的安装、基本操作到高级功能,包括联网、系统管理、...

    Linux桌面操作系统初级教程

    Linux桌面操作系统初级教程是专为初次接触Linux系统的学习者设计的教育资源。Linux,作为一个开源的操作系统,因其稳定性、安全性及可定制性而受到全球技术爱好者的欢迎。本教程旨在帮助初学者快速熟悉Linux的桌面...

    Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论 - 京山游侠 - 博客园1

    这篇指南旨在帮助对Linux桌面感兴趣的用户理解和掌握如何玩转Linux系统。 **Linux 桌面系统的特点和现状** Linux 桌面系统具有高度的可定制性,允许用户根据个人需求调整界面和功能。它提供了多种桌面环境,如GNOME...

    windows下远程linux桌面工具

    本人经过putty+xming等多方尝试,感觉这种做法太复杂,容易出错,最终用vnc一步搞定,下面有vnc安装程序,有连接linux显示...4 运行vnc viewer 输入linux地址 你就可以看到linux桌面了 支持主机和远程机文字粘贴共享

    Linux桌面应用开发入门指南.zip

    Linux桌面应用可以使用多种编程语言开发,如C、C++、Python、Java和Qt QML等。C和C++为底层开发提供了更多控制,而Python则因为其简洁和丰富的库支持而受到欢迎。Java适用于跨平台应用,Qt QML则为创建现代图形用户...

    让Linux上桌面——中软Linux3.1桌面版使用感受.pdf

    让Linux上桌面——中软Linux3.1桌面版使用感受.pdf

    远程linux桌面工具

    "远程Linux桌面工具"正是这样一类软件,它们允许用户通过网络连接到Linux系统,进行图形化的操作,就像坐在电脑前一样。本篇文章将详细介绍远程Linux桌面工具的相关知识点。 首先,我们要理解远程桌面协议(Remote ...

    中文版Linux桌面操作系统初级教程

    本教程专注于“中文版Linux桌面操作系统初级教程”,特别是基于红旗Linux 4.1桌面版的系统,旨在帮助初学者熟悉Linux的基本操作和概念。 红旗Linux是中国最早开发的Linux发行版之一,它基于Debian和Red Hat Linux,...

    windows_远程登录linux桌面.docx

    本文将详细介绍如何在Windows下使用VNC Viewer远程连接到Linux桌面。 首先,我们需要确认Linux服务器上已经安装了VNC服务。VNC(Virtual Network Computing)是一种基于RFB协议的远程桌面软件,允许用户通过网络...

    linux桌面化操作

    linux桌面化操作,可以再window下远端操作linux系统下的文件,无需linux命令

    树莓派开始,玩转Linux.pdf,树莓派开始,玩转linux pdf,LINUX

    《树莓派开始,玩转Linux》这本书是针对想要深入理解和使用树莓派与Linux操作系统的读者而编写的。树莓派是一款小巧且价格亲民的单板计算机,深受技术爱好者和初学者的喜爱,它为学习Linux提供了一个理想的平台。在...

Global site tag (gtag.js) - Google Analytics