分类 桌面应用 下的文章

我最近在写一些执行备份工作的脚本,我决定使用systemd timers而不是对我而已更熟悉的cron jobs来管理它们。

在我使用时,出现了很多问题需要我去各个地方找资料,这个过程非常麻烦。因此,我想要把我目前所做的记录下来,方便自己的记忆,也方便读者不必像我这样,满世界的找资料了。

在我下面提到的步骤中有其他的选择,但是这里是最简单的方法。在此之前,请查看systemd.service, systemd.timer,和systemd.target的帮助页面(man),学习你能用它们做些什么。

运行一个简单的脚本

假设你有一个脚本叫:/usr/local/bin/myscript ,你想要每隔一小时就运行一次。

Service 文件

第一步,创建一个service文件,根据你Linux的发行版本放到相应的系统目录(在Arch中,这个目录是/etc/systemd/system//usr/lib/systemd/system)

myscript.service

[Unit]
Description=MyScript

[Service]
Type=simple
ExecStart=/usr/local/bin/myscript

注意,务必将Type变量的值设置为"simple"而不是"oneshot"。使用"oneshot"使得脚本只在第一次运行,之后系统会认为你不想再次运行它,从而关掉我们接下去创建的定时器(Timer)。

Timer 文件

第二步,创建一个timer文件,把它放在第一步中service文件放置的目录。

myscript.timer

[Unit]
Description=Runs myscript every hour

[Timer]
# 首次运行要在启动后10分钟后 
OnBootSec=10min
# 每次运行间隔时间
OnUnitActiveSec=1h
Unit=myscript.service

[Install]
WantedBy=multi-user.target

授权 / 运行

授权并运行的是timer文件,而不是service文件。

# 以 root 身份启动定时器
systemctl start myscript.timer
# 在系统引导起来后就启用该定时器 
systemctl enable myscript.timer

在同一个Timer上运行多个脚本

现在我们假设你在相同时间想要运行多个脚本。这种情况,你需要在上面的文件中做适当的修改

Service 文件

像我之前说过的那样创建你的service文件来运行你的脚本,但是在每个service 文件最后都要包含下面的内容:

[Install]
WantedBy=mytimer.target

如果在你的service 文件中有一些依赖顺序,确保你使用Description字段中的值具体指定After=something.serviceBefore=whatever.service中的参数。

另外的一种选择是(或许更加简单),创建一个包装脚本来使用正确的顺序来运行命令,并在你的service文件中使用这个脚本。

Timer 文件

你只需要一个timer文件,创建mytimer.timer,像我在上面指出的

target 文件

你可以创建一个以上所有的脚本依赖的target文件。

mytimer.target

[Unit]
Description=Mytimer
# Lots more stuff could go here, but it's situational.
# Look at systemd.unit man page.

授权 / 启动

你需要将所有的service文件和timer文件授权。

systemctl enable script1.service
systemctl enable script2.service
...
systemctl enable mytimer.timer
systemctl start mytimer.service

Good luck.


via: http://jason.the-graham.com/2013/03/06/how-to-use-systemd-timers/

作者:Jason Graham 译者:johnhoow 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

如果你一直在试验你的Ubuntu系统,你可能最终以Unity和Compiz的一片混乱收场。在此贴士中,我们将看看怎样来重置Ubuntu 14.04中的Unity和Compiz。事实上,全部要做的事,仅仅是运行几个命令而已。

重置Ubuntu 14.04中的Unity和Compiz

打开终端(Ctrl+Alt+T),并使用以下命令来重置compiz:

dconf reset -f /org/compiz/

重置compiz后,重启Unity:

setsid unity

此外,如果你想将Unity图标也进行重置,试试以下的命令吧:

unity --reset-icons

可能的疑难解决方案:

如果你在重置compiz时遇到如下错误:

error: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark.\_g\_2dfile2\_derror\_2dquark.Code17: Cannot open dconf database: invalid gvdb header

可能的原因是用户文件被搞乱了。备份dconf配置,并移除配置文件:

mv ~/.config/dconf/ ~/.config/dconf.bak

希望本贴士对你重置Ubuntu 14.04中Unity和compiz有所帮助,欢迎您随时提出问题和建议。


via: http://itsfoss.com/reset-unity-compiz-settings-ubuntu-1404/

作者:Abhishek 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

问题: 前段时间,我的Ubuntu增加了一个第三方的PPA仓库,如何才能移除这个PPA仓库呢?

个人软件包档案(PPA)是Ubuntu独有的解决方案,允许独立开发者和贡献者构建、贡献任何定制的软件包来作为通过启动面板的第三方APT仓库。如果你是Ubuntu用户,有可能你已经增加一些流行的第三方PPA仓库到你的Ubuntu系统。如果你需要删除掉已经预先配置好的PPA仓库,下面将教你怎么做。

假如你想增加一个叫“ppa:webapps/preview”第三方PPA仓库到你的系统中,如下:

$ sudo add-apt-repository ppa:webapps/preview

如果你想要 单独地删除某个PPA仓库,运行下面的命令:

 $ sudo add-apt-repository --remove ppa:someppa/ppa 

注意,上述命令不会同时删除任何已经安装或更新的软件包。

如果你想要 完整的删除一个PPA仓库并包括来自这个PPA安装或更新过的软件包,你需要ppa-purge命令。

首先要安装ppa-purge软件包:

$ sudo apt-get install ppa-purge 

然后使用如下命令删除PPA仓库和与之相关的软件包:

$ sudo ppa-purge ppa:webapps/preview 

特别滴,在发行版更新后,当你分辨和清除已损坏的PPA仓库时这个方法特别有用!


via: http://ask.xmodulo.com/how-to-remove-ppa-repository-from-command-line-on-ubuntu.html

译者:Vic\_\_\_ 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Nvidia Optimus是一款利用“双显卡切换”技术的混合GPU系统,但长期以来受限于Linux系统上的诸多不便与限制。在数年的等待之后,搭载这全新内核的Ubuntu 14.04最终实现了非常容易安装的专用驱动的兼容性。这篇文章首先为不熟悉Nvidia Optimus的读者简介相关背景,然后展示整个安装过程。对于对Xorg有着丰富配置经验的老手,可以直接跳到安装部分。

背景知识

对那些不熟悉Nvidia Optimus的读者,在板载Intel图形芯片组和使用被称为“GPU切换”、对需求有着更强大处理能力的NVIDA显卡这两者之间的进行切换是很有必要的。这么做的主要目的是延长笔记本电池的使用寿命,以便在不需要Nvidia GPU的时候将其关闭。带来的好处是显而易见的,比如说你只是想简单地打打字,笔记本电池可以撑8个小时;如果看高清视频,可能就只能撑3个小时了。使用Windows时经常如此。

几年前,我买了一台上网本(Asus VX6),犯的最蠢的一个错误就是没有检查Linux驱动兼容性。因为在以前,特别是对于一台上网本大小的设备,这根本不会是问题。即便某些驱动不是现成可用的,我也可以找到其它的办法让它正常工作,比如安装专门模块或者使用反向移植。对我来说这是第一次——我的电脑预先配备了Nvidia ION2图形显卡。

在那时候,Nvidia的Optimus混合GPU硬件还是相当新的产品,而我也没有预见到在这台机器上运行Linux会遇到什么限制。如果你读到了这里,恰好对Linux系统有经验,而且也在几年前买过一台笔记本,你可能对这种痛苦感同身受。

Bumblebee项目直到最近因为得到Linux系统对混合图形方面的支持才变得好起来。事实上,如果配置正确的话,通过命令行接口(如“optirun vlc”)让你选定的应用程序能利用Nvidia显卡功能是可行的,但让HDMI一类的功能运转起来就很不同了。(译者注:Bumblebee 项目是把Nvidia的Optimus技术移到Linux上来。)

我之所以使用“如果配置正确的话”这个短语,是因为实际上为了让它发挥出性能来往往不只是通过几次尝试去改变Xorg的配置就能做到的。如果你以前没有使用过ppa-purge或者运行过“dpkg-reconfigure -phigh xserver-xorg”这类命令,那么我可以向你保证修补Bumblebee的过程会让你受益匪浅。

在等待了很长一段时间后,Nvidia才发布了支持Optimus的Linux驱动,但我们仍然没有得到对双显卡切换的真正支持。然而,现在有了Ubuntu 14.04、nvidia-prime和nvidia-331驱动,任何人都可以在Intel芯片和Nvidia显卡之间轻松切换。不过不幸的是,为了使切换生效,还是会受限于需要重启X11视窗系统(通过注销登录实现)。

为了减轻这种不便,有一个小型程序用于快速切换,稍后我会给出。这个驱动程序的安装就此成为一件轻而易举的事了,HDMI也可以正常工作,这足以让我心满意足了。

安装Nvidia Optimus驱动

为了更快地描述这个过程,我假设你已经安装好Ubuntu 14.04或者Mint 17。

作为一名系统管理员,最近我发现90%的Linux操作通过命令行执行起来更快,但这次我推荐使用“Additional Drivers”这个应用程序,你可能使用它安装过网卡或声卡驱动。

注意:下面的所有命令都是在~#提示符下执行的,需要root权限执行。在运行命令前,要么使用“sudo su”(切换到root权限),要么在每条命令的开头使用sudo运行。

你也可以在命令行输入如下命令进行安装:

 ~# apt-get install nvidia-331 nvidia-settings nvidia-prime 

接下来是重启。确保你没有安装类似于Bumblebee或其他已加载的Nvidia驱动,否则很可能会破坏你的X11。万一你没有进行全新安装,之前有安装过Bumblebee程序,那么在安装nvidia-331和nvidia-prime前运行下列命令:

 ~# apt-get purge libvdpau-va-gl1 bumblebee* nvidia*

在Nvidia和非Nvidia显卡之间切换

你可以通过按下Alt+F2或者从命令行键入下列命令实现Nvidia和非Nvidia(如Intel)显卡之间的切换:

~$ nvidia-settings 

注意:~$表示不以root用户身份执行。

你也可以使用命令行设置默认使用哪一块显卡:

~# prime-select intel (或 nvidia)

使用这个命令进行切换:

~# prime-switch intel (或 nvidia)

两个命令的生效都需要重启X11,可以通过注销和重新登录实现。当然重启电脑也行。

对Ubuntu用户键入命令:

~# service lightdm restart

对Mint用户键入命令:

~# service mdm restart

键入这个命令确认哪一块显卡在运行:

~# prime-select query

最后,你可以通过添加ppa:nilarimogard/webupd8来安装叫做prime-indicator的程序包,实现通过工具栏快速切换来重启Xserver会话。要安装它,只需要运行:

~# add-apt-repository ppa:nilarimogard/webupd8
~# apt-get update
~# apt-get install mesa-utils prime-indicator 

总结

总而言之,这个方法仍不完美,但至少它能简单易用地提供合适的专门驱动支持。很多人不会使用这个安装方法来设置Bumblebee,因为他们发现使用Nvidia驱动会很快耗完电池。对我个人的使用来说,这是一个更好的方法,因为我使用Nvidia只为了满足HDMI输出,这表示我必须把电脑插上电源才行。不然的话,Intel的显卡对我的笔记本来说够用了,因为除了频繁地使用Libreoffice、Chromium和Terminator这几个软件我别无所求。

如果你宁愿选择在默认情况下使用Intel显卡,为运行特定的应用程序使用Nvidia显卡,你应该去阅读那些Bumblebee教程。一旦你得以让Bumblebee正常工作起来,我建议你记录下用来配置电脑的命令和过程。因为没有什么比9个月之后再来一次全新安装但忘记了上次是如何成功安装更糟糕的事情了。

也可以花时间查看一下这个我偶然发现的脚本,用来方便地在Bumblebee和Nvidia-Prime之间进行切换,但我必须强调并没有亲自对此进行实验。

最后,我感到非常惭愧,写了这么多才得以为Linux上的显卡提供了专门支持,但仍然不能实现双显卡切换,因为混合图形技术似乎是便携式设备的未来。一般情况下,AMD会发布Linux平台上的驱动支持,但我认为Optimus是目前为止我遇到过的最糟糕的硬件支持问题。

不管这篇教程对你的使用是否完美,但这确实是利用这块Nvidia显卡最容易的方法。你可以试着在Intel显卡上只运行最新的Unity,然后考虑2到3个小时的电池寿命是否值得权衡。


via: http://xmodulo.com/2014/08/install-configure-nvidia-optimus-driver-ubuntu.html

作者:Christopher Ward 译者:KayGuoWhu 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

极少Linux桌面像GNOME 3一样饱受争议。自发布以来,它被奚落,被挖苦,还被痛恨。事情是,它实际上是一个很不错的桌面。它牢固、可靠、稳定、优雅、简洁……而且带有一些小的调整和附加的东西,它可以做成市面上最高效、最友好的桌面之一。

当然,什么才是高效而又/或者是用户友好的桌面呢?那取决于观念——每个人都有的东西。归根到底,我的目标是帮助你快速访问你要用到的应用和文件。简单吧。不管你信不信,将GNOME 3一步一步变成更为高效而又用户友好的世界是一项十分容易的任务——你只需要知道哪里去查看以及做些什么即可。在这里,我会引领你去往正确的方向。

我决定从这里开始着手这个事情,首先安装一个干净的Ubuntu GNOME发行版开始,该安装包含有一个GNOME 3.12桌面。在以GNOME为中心的桌面准备好后,就该开始对它进行微调了。

添加窗口按钮

出于一些未知的原因,GNOME的开发者们决定对标准的窗口按钮(关闭,最小化,最大化)不屑一顾,而支持只有单个关闭按钮的窗口了。我缺少了最大化按钮(虽然你可以简单地拖动窗口到屏幕顶部来将它最大化),而且也可以通过在标题栏右击选择最小化或者最大化来进行最小化/最大化操作。这种变化仅仅增加了操作步骤,因此缺少最小化按钮实在搞得人云里雾里。所幸的是,有个简单的修复工具可以解决这个问题,下面说说怎样做吧:

默认情况下,你应该安装了GNOME优化工具(GNOME Tweak Tool)。通过该工具,你可以打开最大化或最小化按钮(图1)。

图 1: Adding the minimize button back to the GNOME 3 windows.
图 1: 添加回最小化按钮到GNOME 3窗口

添加完后,你就可以看到最小化按钮了,它在关闭按钮的左边,等着为你服务呢。你的窗口现在管理起来更方便了。

同样在这个优化工具中,你也可以对GNOME进行大量其它有帮助的配置:

  • 设置窗口聚焦模式
  • 设置系统字体
  • 设置GNOME主题
  • 添加启动应用
  • 添加扩展

添加扩展

GNOME 3的最佳特性之一,就是shell扩展,这些扩展为GNOME带来了各种类别的有用特性。关于shell扩展,没必要从包管理器去安装。你可以访问GNOME Shell扩展站点,搜索你想要添加的扩展,点击扩展列表,点击打开按钮,然后扩展就安装完成了;或者你也可以从GNOME优化工具中添加它们(你在网站上会找到更多可用的扩展)。

注:你可能需要在浏览器中允许扩展安装。如果出现这样的情况,你会在第一次访问GNOME Shell扩展站点时见到警告信息。当出现提示时,只要点击允许即可。

令人印象更为深刻的(而又得心应手的)扩展之一,就是Dash to Dock

该扩展将Dash移出应用程序概览,并将它转变为相当标准的停靠栏(图2)。

图 2: Dash to Dock adds a dock to GNOME 3.
图 2: Dash to Dock添加一个停靠栏到GNOME 3

当你添加应用程序到Dash后,他们也将被添加到Dash to Dock。你也可以通过点击Dock底部的6点图标访问应用程序概览。

还有大量其它扩展致力于将GNOME 3打造成一个更为高效的桌面,在这些不错的扩展中,包括以下这些:

  • 最近项目: 添加一个最近使用项目的下拉菜单到面板。
  • Firefox书签搜索: 从概览搜索(并启动)书签。
  • 跳转列表: 添加一个跳转列表弹出菜单到Dash图标(该扩展可以让你快速打开和程序关联的新文档,甚至更多)
  • 待办列表: 添加一个下拉列表到面板,它允许你添加项目到该列表。
  • 网页搜索框: 允许你通过敲击Ctrl+空格来快速搜索网页并输入一个文本字符串(结果在新的浏览器标签页中显示)。

添加一个完整停靠栏

如果Dash to dock对于你而言功能还是太有限(你想要“通知区域”,甚至更多),那么向你推荐我最喜爱的停靠栏之一Cairo Dock(图3)。

图 3: Cairo Dock ready for action.
图 3: Cairo Dock待命

在将Cairo Dock添加到GNOME 3后,你的体验将成倍地增长。从你的发行版的包管理器中安装这个优秀的停靠栏吧。

不要将GNOME 3看作是一个效率不高的,用户不友好的桌面。只要稍作调整,GNOME 3可以成为和其它可用的桌面一样强大而用户友好的桌面。


via: http://www.linux.com/learn/tutorials/781916-easy-steps-to-make-gnome-3-more-efficient

作者:Jack Wallen 译者:GOLinux 校对: wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

如果你在推特上关注了我们,你可能看见了我们最近分享的一张截图,和这张截图一起的还有对它所展示的桌面进行命名的邀请。

你猜对了吗? 答案就是Budgie —— 一种为基于openSUSE 的linux发行版Evolve OS所设计、但不仅仅只能用于 Evolve OS的简易桌面环境。

我们第一次提到Budgie是在三月份,当时我们被它的整洁、小巧的美感、灵活的架构,还有再次使用在当今大多数发行版中所使用的GNOME 3.10 成熟技术中的公共部分和标堆栈的决定所折服。

我对此项目的领导者Ikey Doherty所作出的开发选择非常佩服。无可否认另起炉灶有它的优点,但决定从上游的项目获取帮助将可以整个项目进展得更快,无论是在发展方面(更轻的技术负担)还是在用户可使用方面(更容易在其它发行版上运行)。

除了政治因素选择以外,这款桌面干净、小巧,向谷歌Chrome OS的Ash桌面致敬。如果你不介意有些许粗糙的边缘,那它值得你玩玩。那么怎样在Ubuntu安装Budgie呢?

非官方的PPA是不正式的

开源意味着如果你有一点终端使用知识的话,你就可以在获得Budgie桌面的源代码后进行编译,然后运行。

但如果你很懒,想不费周折就在Ubuntu 14.04 LTS(或者一个基于它的发行版)运行Budgie,那么你可以通过比较容易的途径来实现。

只要添加一个非官方的PPA,刷新你的软件源然后进行安装。几分钟后在这个家庭中你将有一位名叫Bob的新叔叔,并且有一个新的桌面可以玩耍。

添加Budgie PPA

将以下命令复制进一个打开的终端窗口,在提示过后输入你的密码(如果需要的话):

sudo add-apt-repository ppa:sukso96100/budgie-desktop
sudo apt-get update && sudo apt-get install budgie-desktop

登入Budgie会话

安装完成后你就可以在Unity欢迎界面的会话选择器中选择“Budgie”了。(别忘了以后要把选择项改回到稳定的桌面环境)

注意

budgie是不稳定、不完善的,并且它在Ubuntu上也没有被正式支持。它正在积极开发中,功能还仍然有些缺失,包括但不仅限于:不支持网络管理,没有音量控制小程序(键盘按键工作良好),没有通知系统,无法将应用程序“固定”在任务栏。

它对UBUNTU的叠加滚动条、一些GTK主题的支持也不是很好,而且在使用upstart的发行版(例如ubuntu,即使它正在改变之中)中会话管理器(例如,注销,重启等等)将无法工作。

一个应变方法是:禁用叠加滚动条,设置一个默认主题,通过在终端中使用以下命名来退出会话:

gnome-session-quit

脑海中有了上述这些警告后,我得建议那些自己的理智倾向于使用稳定、可靠的系统的人现在暂时不要使用它。

而剩下那些狂热的业余爱好者们呢?好吧,请在下面留言告诉我们你觉得它如何。我给Bob让路。


via: http://www.omgubuntu.co.uk/2014/07/install-budgie-evolve-os-desktop-ubuntu-14-04

译者:Love-xuan 校对:reinoir

本文由 LCTT 原创翻译,Linux中国 荣誉推出