linux中国_ 发布的文章

许多Ubuntu用户过去一直在使用第三方仓库体验Cinnamon而不用安装Linux Mint,然而似乎在不久的将来,不会再有Cinnamon的第三方仓库了

如果你在用Ubuntu系统,当前你能够通过添加一个PPA源并安装相应的软件包就可以体验到Cinnamon桌面环境。这让你可以获得像Linux Mint一样的体验,而不用真的去安装它。

不幸的是,该功能即将消失,但不是因为主要维护者不想再继续提供该软件。很显然,Ubuntu仓库将不再保留旧版本的GNOME软件包,而Cinnamon却需要这些包,这让Cinnamon要想通过PPA方式安装,即使可能,也困难重重。

“稳定的PPA源确实不再维护了,而每晚更新的PPA源也只为开发而保留,但不应该用于任何种类的生产机器上(它可能会在任何时候中断)。”

“坦率地说,除了切换到其它支持Cinnamon的版本外,目前我没有其它替代品可以提供给Ubuntu用户。外面有很多这样的版本,我只是希望有人(最终)站到Ubuntu这边来为它的用户提供合适的包。”Gwendal Le Bihan——Cinnamon包的维护者

这意味着,从今往后,只有不稳定的PPA源可用了,但也只是用于测试,用户不应该将该源部署到正式机器上。而不久之后,你要想见见Cinnamon的样子,就只好去安装Linux Mint(或者Arch也行),或者你自己动手编译吧。

如果你仍然想要安装Cinnamon,Ubuntu 14.04 LTS(Trusty Tahr)可以使用不稳定的PPA源。你所要做是在终端下输入一些命令(你需要root权限来做此事):

sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly
sudo apt-get update
sudo apt-get install cinnamon

安装完成后,你所要做的仅仅是注销系统并从欢迎屏幕选择Cinnamon桌面。

Cinnamon桌面环境是作为GNOME shell的分支开发的,目的在于提供一个简洁而保守的替代品用于替代当前提供的一切。许多用户不满意GNOME、Unity以及KDE的取向而正在寻找那些没有偏移常规太多的桌面。

有可能有别人会构建另外一个提供了所有所需软件包的PPA源,让Cinnamon能在即将发布的Ubuntu 14.10中正常工作,但可能性似乎不大。


via: http://news.softpedia.com/news/Ubuntu-Users-Will-No-Longer-Have-a-Cinnamon-PPA-443933.shtml

译者:GOLinux 校对:wxy

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

(译注:本文译自Ubuntu官方维基

Ubuntu 双系统安装器是作为技术预览版本发布给开发者的,可以使得开发者同时在一台手机上安装 Ubuntu 系统和 Android 系统。该软件现阶段或最终的目标用户并非普通用户。开发者应该熟悉 Ubuntu 和 Android 系统的分区布局并且在出现问题的时候有能力手动刷回分区。

Ubuntu 双系统安装器是一些工程师花了一点时间内做出的一个内部臭鼬项目(译注:管理层不知的研究项目)。由于项目进展良好,所以决定向开发者社区发布预览版以供大家测试、学习或者完善。

双系统启动不是常规 Ubuntu 发布版本中的一部分。

安装后可实现以下功能

  • 一台可以在全功能的 Android 和 Ubuntu 系统之间切换的手机
  • Android 系统上:一个 Ubuntu Installer 应用,用来安装 Ubuntu 系统和切换到 Ubuntu 系统
  • Android 系统上:一个 SuperUser 超级用户管理器,用来为 Ubuntu 安装器授予权限
  • Ubuntu 系统上:一个 Ubuntu Dual Boot 应用,用来启动到 Android 系统
  • 尚不支持在 Ubuntu 系统下的更新,但可以通过 Android 下的应用程序来进行系统更新

必要条件

安装双系统启动,你需要:

  • 一台Nexus 4 手机 (其他 支持的 Nexus 手机 理论上也能安装,但是现在还没有经过测试。)
  • 手机安装 Android 4.4.2 或者更高的系统版本 ,基于原厂固件或者 CyanogenMod 和 AOSP 的固件。
  • 手机上需要有 2.7GB 剩余存储空间 用来安装Ubuntu。
  • 桌面电脑上需要运行 ADB 工具
  • 手机应该 解锁 bootloader 并打开 USB 调试选项。按照安装步骤1到3来实现。如果你的手机已经解锁过 bootloader 并且打开了 USB 调试选项了,这一步可以跳过>

步骤 1 - 桌面电脑设置

为了连接手机并刷机,在电脑桌面上依照以下几步操作。

设置Touch开发者预览工具(Touch Developer Preview Tools)的 PPA

这些 PPA 是一个迷你库,其中包含安装过程中需要的一些额外软件。以下描述如何去启用和使用它。

这些 PPA 的包含工具和依赖库支持各个 Ubuntu 发行版,包括 12.04, 12.10, 13.04, 13.10 和 14.04等。 将以下的源地址列表加入 /etc/apt/sources.list 文件中来添加 Ubuntu Touch PPA。

在你的机器上按 Ctrl+Alt+T 开启终端窗口,运行以下命令。

sudo add-apt-repository ppa:phablet-team/tools

在 Ubuntu 12.04系统上,还需要运行以下命令:

sudo add-apt-repository ppa:ubuntu-sdk-team/ppa

然后运行:

sudo apt-get update
sudo apt-get install ubuntu-device-flash

步骤 1.5 - 备份Android(可选)

  • 确认开启开发者模式。点击 设置 -> 关于手机 -> 版本号 (点击七次)
  • 确认开启 USB 调试模式。点击 设置 -> 开发者选项 -> USB 调试
  • 在你的电脑上执行(译注:自然这是在Linux下,如Ubuntu里面执行的)
$ adb backup -apk -shared -all

这样就将你的操作系统、应用程序和所有的数据备份为 backup.ab 文件了。以后在重新刷回 android 系统(或root、解锁等)的时候可以使用 $ adb restore backup.ab 命令恢复你所有的数据。

步骤 2 - 手机解锁

如果手机已经解锁,那么跳过步骤 3。以下几步将擦除手机上所有的个人数据。

  1. 关机,同时按住手机的开机键+音量上+音量下开机。
  2. 手机将开机到bootloader界面。
  3. 使用 USB 数据线将手机和电脑连接。
  4. 在电脑上按 Ctrl+Alt+T 打开一个终端。 键入 sudo fastboot oem unlock 并回车。
  5. 在手机上,接受解锁条款。
  6. 按开手机开机键开机。(屏幕上 Start 的箭头所向)

恢复手机出厂设置

如果解锁 bootloader 后不断重启的话... 可以使用以下方法解决:

  1. 在重启的过程中,同时按住 电源键+音量上+音量下 使得手机重返 fastboot 模式。
  2. 在 fastboot 模式下,使用音量键选择到 Recovery 选项后,按下开机键选中。
  3. 在 Recovery 模式下(Android 机器人 背景是个红色三角) 同时按住音量上键和开机键进入stock recovery 模式。再次强调,不要按住按钮不放,只是同时按他们。保证你按了正确的音量按钮。应该是右边的音量按钮的向上键。
  4. 一旦进入 Recovery 模式,恢复出厂设置并清空数据,然后重启平板,现在应该可以看到欢迎屏幕了。

步骤 3 - 初始化手机指南

按照以下步骤初始化手机

  1. 如果没有启动,启动手机进 Android 系统
  2. 启用手机的 USB 调试模式

    • 在冰激凌三明治 (版本 4.0) 上打开 USB 调试(设置 > 系统 > 开发者选项 > USB 调试)
    • 在果冻豆 (版本 4.1 和 4.2) 上打开 USB 调试,需要进 设置, 关于 [手机|平板] 菜单且点击版本号7次才能进入开发者选项。
    • 在 4.2.2, (设置 > 关于 > 点击版本号7次激活开发者选项菜单)
    • 在其他版本的 Android 系统中,你通过 设置 > 开发者选项 > USB 调试来启用 USB 调试模式。您也需要接受手机上的主机密钥。
    • 在工作站中 -> adb kill-server; adb start-server
  3. 将手机和电脑通过USB数据线连接起来。

    • 根据 Android 版本的不同,会弹出一个主机密匙的框,需要确认才能和电脑通信。
    • 注意,adb devices 命令不应该显示为手机 'offline' 。如果显示手机离线,在超级用户模式下运行adb(sudo adb kill-server; sudo adb start-server),然后将手机再次连接。
    • 在某些情况下,手机仍然显示为离线,如果USB连接模式为 'MTP' (一些手机或版本的Android的默认模式)的话,就不会弹出主机密匙提示对话框。取消所有的USB连接模式选项的勾选(设置 -> 存储 -> 菜单 -> USB连接 -> MTP, PTP)也许能解决adb连接问题。
  4. 记下现有手机镜像版本号,Android 系统,恢复系统时使用。可以使用 设置 > 关于手机 > 版本号码 查看版本号。

最新版的 Nexus 10s 开启开发者模式后并没有完全启动。如果是这种情况的话,启动到 bootloader 后运行 "fastboot -w" 然后进入下一步。

双系统启动安装和更新说明

双系统新安装和升级在这部分过程实际上是相同的。

在 Android 系统中安装 Ubuntu 安装器

注意:如果手机中有一个以前版本的 Ubuntu 双启动,更新前请首先使用 Android 应用程序卸载掉 Ubuntu 系统。推荐保存用户数据,只卸载掉基本的系统。

  1. 在电脑上下载双系统安装脚本到你的家目录。http://humpolec.ubuntu.com/latest/dualboot.sh
  2. 使用 Ctrl+Alt+T 组合键打开电脑终端。
  3. 运行以下命令赋予安装脚本可执行权限。
chmod +x dualboot.sh
  1. 保证你的手机
* 正常启动进入 Android 用户界面
* 启用 USB 调试选项
* 已经解锁了 bootloader
  1. 使用 USB 数据线连接手机和电脑
  2. 在终端里运行以下命令安装双系统启动:
./dualboot.sh

安装完成后,手机会重启数次。完成后,系统会启动到 Android 系统,你可以在手机的应用程序里面找到双启动应用程序 (“Ubuntu Dual Boot”) 。

或者,可以使用安装脚本的另一个替代方法,可以参考安装手册 >

现在按照以下说明在 Android 下安装 Ubuntu。

Android 下安装 Ubuntu

注意:Ubuntu 安装需要手机上具有2.7GB以上的剩余内存空间。

  1. 如果需要,也可以在手机和电脑USB连接状态下,终端运行以下命令来释放空间。(接受手机上的授权询问)
adb shell "su sh rm -rf /cache/*"
  1. 在手机上,点击 apps 按钮打开 app 列表
  2. 查看列表找到 Ubuntu Dual Boot 图标并启动它
  3. 应用程序启动后按 Choose channel to install 并选择一个频道下载(推荐 utopic 频道),请确保您勾选了“bootstrap”选项
  4. 下载完成后需要授权 SU 权限给应用程序。提示授权的时候,选择 Grant 按钮
  5. Reboot to Ubuntu 按钮重启手机进入Ubuntu
  6. 标准手机重启过程后会启动到Android系统中

注意:

  • Ubuntu 安装器支持所有手机平板刷机工具(phablet-flash)支持的频道
  • 选择了一个 Ubuntu 频道后,bootstrap 复选框可以让你选择清空 Ubuntu 的用户数据,如果不选中的话,用户数据将一直保留。第一次安装的话,选不选是没什么区别的
  • 选中一个 Ubuntu 频道后,取消 latest version 复选框后可以选择一个特定版本号的镜像,否则,默认安装最新的镜像。
  • 如果在安装过程下载镜像过程中,手机锁屏或者 Ubuntu 安装器在后台运行的话,安装按钮会变成 Resume install (恢复安装)。点击这个按钮会恢复到超级权限提示前的状态。

其他需要注意的

更新到最新的 Ubuntu 镜像

根据双启动的经验:

  • 安装新版本的 Ubuntu 需要使用 Android 上的双启动应用程序
  • 下载新版本的 Ubuntu 可以在 Android 或者 Ubuntu 下进行

这实际上意味着可以有两种不同的方式更新 Ubuntu 镜像(译注:此处与前文不一致,究竟是否可在Ubuntu下更新,译者没有做过实验,可能已经支持了。):

  • 如果在android系统下,使用双启动应用程序更新 Ubuntu ,需要选择菜单选项中的 "Uninstall Ubuntu" ,然后应用程序会询问你是否保留 Ubuntu 用户数据。如果你想保留数据、通讯录、应用程序、图片、背景设置等,这些数据将会完整保留。另外,每次新版本的 Ubuntu 发布后,将会收到 Android 通知:

    • 对于稳定频道,应用每2天推送一次更新通知
    • 对于推荐频道,应用每10小时推送一次更新通知
  • 如果你使用的是 Ubuntu, 使用系统设置中的标准更新机制下载新版镜像,但是不要选择安装,下载完毕后,重新启动到 Android 系统中,启动双启动应用程序,程序会恢复更新。完成后,你可以再次切换到 Ubuntu系统中。

要升级 Ubuntu 到最新版本,在 android 下的 Ubuntu 双启动应用程序中,卸载 Ubuntu 后,可以按照同样的安装步骤去下载新版本的 Ubuntu。

双系统安装器参考命令

大多数情况下,不带参数运行自动模式安装脚本就足够了。

dualboot.sh

  • 自动模式:监测超级用户应用程序是否需要安装,并更新双系统安装应用程序。

dualboot.sh full

  • 完整模式:安装超级用户和双系统启动 Android 应用程序

dualboot.sh update

  • 更新模式:安装或者更新 Android 下的双系统启动应用程序

dualboot.sh channel $CHANNEL

  • 边载(Sideload)模式:通过指定的 Ubuntu 频道 ($CHANNEL) 下载最新的镜像到手机。命令启动 android 双系统应用程序并继续使用边载文件进行安装。

dualboot.sh push ubuntu.tar.xz device.tar.xz version.tar.xz

  • 边载推送模式:将下载参数推送给双系统启动应用程序,作为参数启动双系统安装器进行安装。

多个手机同时连到电脑上的时候,脚本还提供指定手机ID 的参数。手机ID为脚本的第一个参数。如果不指定手机ID的话,默认为第一个连接的手机。

dualboot.sh <device-id> channel devel-customized

使用自定义镜像服务器

如果你的手机不在官方支持列表中,需要使用第三方移植镜像服务器,你可以将自定义镜像服务器地址作为参数来使用双启动应用程序。这么办的话,打开终端,连接手机到电脑,运行以下命令(替换 $CUSTOM\_SERVER\_URL 为自定义服务器地址):

adb shell "su sh 'cd /data/data/com.canonical.ubuntu.installer/files/ && echo $CUSTOM_SERVER_URL > custom_server &&  chmod 777 custom_server'"

下次启动双启动应用程序的时候,默认将使用自定义服务器地址而不是官方地址了。

异常处理

如果出现问题,安装双启动后无法进入 Android 和 Ubuntu 系统的话,你可以使用原始启动和恢复镜像恢复手机到最初状态。只有 recovery 分区被双启动修改了,当然你可以刷回原有的启动分区。

  1. 下载手机的 Android 固件到你的PC上。
  2. 使用快捷键 Ctrl+Alt+T 打开终端
  3. 解压固件 tar 包并 cd 到其目录
  4. 运行以下命令以重启手机到 bootloader
adb reboot bootloader
  1. 进入 bootloader 后,运行以下命令刷回启动分区:
fastboot flash boot boot.img
  1. 不要退出 bootloader ,运行以下命令刷回 recovery 分区:
fastboot flash recovery recovery.img
  1. 刷机完毕后,重启你的手机应该就可以进入 Android 系统了:
fastboot reboot

致谢

双启动项目和其他 Ubuntu 项目一样都是开源的,你可以参与此项目,使得他更加完美!

FAQ

双启动如何工作?

基于 Android 的手机有一系列不同用途的分区。这些分区包括 /boot, /recovery, /system/data 等。

  • boot 分区是 bootloader 正常启动的时候载入的。这个分区的启动镜像是由一个内核和ramdisk程序组成的。简而言之,bootloader 解压启动镜像,创建一个内存盘后将镜像考入,最后使用 初始化进程 启动内核。
  • recovery 分区包含有恢复镜像,它只是一个不同的启动镜像。它也含有一个内核和内存盘程序,但是初始化可执行程序被换成了内存盘中的二进制的 recovery 程序。
  • system 分区含有所有的只读系统文件 (除了内存盘中的)供初始化进程载入。
  • data 分区是供系统写入用户数据的可读写分区。

Ubuntu 以稍微不同的方式使用这些分区

  • bootrecovery 分区的作用和 Android 中一样。
  • system 镜像 含有在 LXC 中执行的 Android 部分的程序。
  • data 分区下的 /data/ubuntu/ 目录含有Ubuntu系统

为了保证用户可以返回 Android 原来的系统,Android 系统的启动镜像是不允许修改的,因为原始内核必须保存。所以使用 recovery 分区去启动Ubuntu

双启动可以运行在那个版本的 Android 系统下?

  • 普通 Android 或 AOSP 4.4.2 或更高版本。
  • CyanogenMod (基于 Android 4.4.2 或更高版本).

双启动可以运行在那些手机上?

双启动通过测试可以运行在以下手机中:

  • Nexus 4
  • Nexus 7
  • Nexus 10

双启动支持那些已发布版本的 Ubuntu?

双启动支持的所有手机平板刷机工具(phablet-flash)支持的系统。

Android 和 Ubuntu 如何共享用户数据分区?

用户数据分区也放在 Ubuntu 系统镜像 /data/system.img, 大约有2GB。

Ubuntu swap 文件在用户数据分区 /data/SWAP.img (大约540MB)。

Ubuntu 的用户和系统数据也可以在以下目录找到:

  • /data/user-data
  • /data/system-data

Android 数据分区的使用方式不变。

安装双启动后是否无法启动进入 recovery?

安装双启动后,recovery 分区被 Ubuntu 启动镜像占用。这意味着启动到 recovery 模式下,就启动了Ubuntu 。

使用 recovery 的功能会在未来发布。不过当卸载掉 Ubuntu 镜像后,Ubuntu Install 应用会恢复原始的 recovery 分区(普通的 Android 或 CWM)。

如果用双启动替换掉 recovery 分区的话,是否还可以更新 Android 系统?

可以,使用双启动应用程序中的 "准备更新安卓" 选项。这会将原始 Android recovery 分区恢复,为 Android 系统更新做准备。这显然会删除 recovery 分区中安装的 Ubuntu 系统,但是使用双系统应用程序可以在 Android 系统更新后很容易重新安装。

任何情况下,你都可以卸载双启动并恢复原始的 recovery 分区。

我可以卸载双启动吗?

可以,使用 Android 版本双启动应用程序卸载 Ubuntu 后,原有的 recovery 分区数据会恢复到安装前的状态。

卸载 Ubuntu 的同时也会删除 Ubuntu 系统镜像和交换文件。如果需要,Ubuntu 用户数据也可以被删除。

双启动应用程序安装了一个超级用户应用,我可以使用一个第三方的超级用户应用代替它吗?

当然可以了!提供的 超级用户 应用只是为了那些没有安装它的用户的。

然而,需要注意一点:项目测试中只测试使用了来自 CyanogenMod 版本或者 dualboot.sh 脚本安装的超级用户应用。但是只要你使用和测试中用的类似的应用的话,一般也不会有问题的。

安装 Ubuntu 中,我是否可以删除用户数据后切换频道?

可以,但是有些东西没有测试过,所以有些应用也许无法正常工作。这个问题也存在于切换版本的情况。

我能否设置默认启动 Ubuntu 而将 Android 启动移动到 recovery 分区?

目前为止交换默认启动操作系统是不可行的。但是如果有需求的话我们会想办法支持的。

为什么使用 recovery 分区启动 Ubuntu 系统而不是使用一个 Android 和 Ubuntu 结合的镜像来启动?

最开始设计双启动的时候原则就是不和某个特定版本和类型的 Android 系统捆绑,留给用户自己选择的权利。所以就没有改动 Android 启动镜像和内核。

最后我们选择利用 recovery 分区启动 Ubuntu,并在需要的时候就恢复到其原始状态。

我已经安装了一个 CWM recovery 而且知道如何使用,我可否使用 zip 文件手动刷机?

绝对可以,我们提供的 dualboot.sh 是为了使得安装应用和 recovery 更容易。如果你想手动安装recovery 也是可以的。参看 dualboot.sh 脚本的源码来操作。

为什么 Ubuntu 安装器需要使用 recovery 安装到 system 分区里?

Ubuntu 安装器需要安装为 Android (预置的)系统应用。 和用户安装在用户分区的应用不一样,系统应用始终活动在系统分区中,保证可以获取第三方软件可以获取的的最高的权限。

其实 Ubuntu 安装器需要获取的权限只有两个:缓存分区写入权限,用来下载 Ubuntu 安装文件;和电源管理,用来重启系统。


via: https://wiki.ubuntu.com/Touch/DualBootInstallation

译者:shipsw 校对:wxy

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

Ubuntu桌面团队已经提出创建一个基于Unity 8的新风格Ubuntu桌面的想法。

开发者Iain Lane概括了团队邮件列表中的提议,说,这样的一个转变所带来的东西会使开发者和爱好者们同样‘来弄明白制作出一个基于可用的软件的桌面产品需要做的工作’。

Lane写道:

“桌面团队想要增加一个新的Ubuntu桌面风格(目前我们并没有计划为此发行任何正式的发行版),其中包含Unity 8桌面以及为触摸项目开发的新应用。 这个想法的初衷是提供一个产品,开发者们能够使用它来弄清制作一个基于可用的软件的桌面产品需要做些什么,以及创造一片试验田来寻求解决所要求的集成问题的最佳途径。”

‘默认预置于Ubuntu 16.04’

一个试验性的发行版在此刻所带来的好处是显而易见的。

Canonical旨在在PC上重复利用手机和平板版本的Ubuntu的代码,尽管披着更加传统的桌面环境的外衣,但这是他们走向‘convergence(融合)’计划的一部分。

但Unity 8在手机和平板形态上的项目仍然处于活跃开发的状态————二者都有正在来临的硬件发布————在塑造PC面貌的主要进程上相当缓慢也是可以理解的。

尽管有些注意事项,但Ubuntu 14.04 LTS通过一个可与现存版本一同安装的Unity 8桌面会话,提供给开发者们一个测试平板版本快照的机会。

通过创建一个专用的Unity 8桌面镜像,可安装会话中的许多限制能够得到缓解。一个实时会话(live session)不仅能够使测试通过live USB或CD更加容易进行,也能够允许更大范围的试验,以及尽情测试而不用有会影响到常规桌面用户的压力。

这个项目的一个规划表明这个新转变的镜像(.iso)‘应该会在16.04中成为一个默认选项’。

在大多数的人力投入仍然集中于推进移动版本的迭代使其符合标准的情况下,目前基于Compiz的版本(Unity 7,开发者称为‘现维护版本’)在可预见的未来中仍然可能被作为默认选项。

在桌面上过渡到Unity 8同样也取决于Mir(Canonical自行开发的显示服务器/显示协议)的时限。在对Mir登场的乐观预测早已让步于现实的情况下, 更明确的计划基本上仍然处于模糊或未宣布的状态。Mir对传统桌面工作流支持工作仍处在早期阶段,比如解决窗口合并、任务切换以及多显示器设置等。从在常规PC里测试镜像中获得帮助,看起来也是一个不错的想法。

如何最好地解决“click packages”(这是Unity 8/Mir应用使用的定制运行时框架);是否有足够的资源来支持开发‘另一风格’的桌面;以及这样的一个项目应该使用什么名称都还处在等待讨论的队列中。


via: http://www.omgubuntu.co.uk/2014/05/ubuntu-unity-8-desktop-flavour-discussed

译者:alim0x 校对:wxy

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

在我上次写切换到Linux的理由后,一位读者建议我写一些关于Windows上流行的应用程序的Linux替代品的内容。毕竟,这是想切换到Linux的Windows用户们最普遍关心的问题。

在本文中,我列出了可用于各种用途的与照片相关的应用程序,努力试图来回应大家普遍关心的问题。这个列表中的应用程序并非是Windows程序的替代品,而只是能用于多种用途的Linux下的图像应用程序的集合。

Linux中的图像编辑应用

当我提到图像编辑时,我是指骨灰级专业风格的照片编辑。换句话讲,我是在讨论Photoshop。而对于Adobe Photoshop的Linux替代品而言,只有一个名字浮现在我脑海里,那就是GIMP。GIMP是一个跨平台、全功能、专业级别的编辑软件,几乎囊括了Photoshop的全部功能。与Photoshop不同的是,GIMP对于所有平台都免费,如Linux,Windows,OS X等等。

你可以从Ubuntu软件中心来为Ubuntu安装GIMP。

如果你醉心于Photoshop,并且对于调整GIMP的外观和快捷键有一定难度,那我推荐你使用Gimpshop。它是一个基于GIMP,而又有Photoshop风格的应用程序,当然也是免费的。

Linux中的照片管理应用

这里我是在说处理图像仓库的应用程序。你可以查看图像,从照相机和手机导入图像,进行图像的简单编辑,分享图像等等。在Windows中,我们有Windows照片查看器。而在Linux中,Shotwell是当今最流行的照片管理工具。它也是各种Linux发行版中默认内置的应用程序,当然Ubuntu也是这样内置的。和GIMP不同的是,Shotwell是一个轻量级应用,但也提供了一些最基本的编辑功能。

Shotwell的一个很好的替代品是gThumb

Linux中用于处理原生照相机图像的应用

由于数码单反相机价格的下降,(业余)摄影师的数量也以同比例增长。由于许多数码单反相机使用原生格式存储图像,像Shotwell这样的默认的图像查看器就不能处理这些图像了,也因此像digiKam这样的应用程序就应运而生了。作为一个开源软件,digiKam可以让你以专业方式处理高端相机图像。你可以使用digiKam来查看、管理、编辑、增强、组织图像,可以给图像贴标识,也可以分享图像。

digiKam的另一个替代品是GTKRawGallery,该软件也关注对照相机图像的处理。

Linux中的绘图应用

如果你正在寻找微软画图的Linux替代品,那么我选择Paint。你可以用该软件做一些像文本注解、画圆圈这样的编辑,你可以使用铅笔、画笔和喷枪来画图。在Ubuntu中,你可以从Ubuntu软件中心安装该软件。

Pinta的另一个替代品是Krita,该软件更强大,提供了更多的功能。比画图应用好,但还比不上GIMP。

Linux中像Instagram一样的应用

最后,让我们来讨论一下图像美化吧。在移动设备上,我们有许多复古的图像效果,但桌面平台中却没有。要在Linux中应用Instagram一样的效果,据我所知只有XnRetro,它能巧妙地进行处理。推荐你阅读如何在Ubuntu中使用XnRetro这篇文章来获取更多信息。

以上只是编排列出了Ubuntu以及其它Linux发行版中可用的各类图像应用软件,但这不是一个这类应用程序的完整列表。事实上,还有很多同类软件,我只是列出了个类目中最好的。

你认为呢?你也使用其它一些应用程序来完成特定的工作?能和我们分享你的看法吗?


via: http://itsfoss.com/image-applications-ubuntu-linux/

译者:GOLinux 校对:wxy

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

首先致上每日问候。Linux的浩瀚无垠,使人总能每次都提交与众不同的内容。我们“The-Tecmint-Team”的工作是给我们的读者提供一些独特的内容,这些内容不仅对他们的职业生涯很有用,同时也让他们增长知识。在此,我们就尝试这么去做,至于能取得多大的成功,就由我们的读者朋友们来判断吧。

Questions on Shell Scripting

我们为各类用户提供了关于Shell脚本语言和面试问题的很多教程,可以访问以下链接去阅读这些文章。

在此,作为shell脚本的附加内容,在本文中我们将从面试的角度解读与Linux Shell相关的问题。

1. 在shell脚本成功执行前,如何中断脚本执行?

解答:我们需要使用‘exit’命令来实现以上描述的情境。‘exit’命令被强制输出非0值时,脚本会报错并退出。在Unix环境下的shell脚本中,0值表示成功执行。因此,在脚本终止前执行一个不带引号的‘exit -1’命令将使脚本中止。

例如,创建以下一个名为“anything.sh”的脚本。

#!/bin/bash
echo "Hello"
exit -1
echo "bye"

保存文件并执行。

# sh anything.sh

Hello
exit.sh: 3: exit: Illegal number: -1

从上面的脚本中可以清楚地看到,在exit -1命令前,脚本执行得很好。

2. 如何使用Linux命令来移除文件头?

解答:当我们需要删除文件中的指定行时,‘sed’命令可以用来解决该问题。

这个是用来删除文件头(文件的首行)的正确命令。

# sed '1 d' file.txt

上面命令的问题是,它会在标准输出设备上输出不带首行的文件内容。为了保存输出到文件,我们需要使用重定向操作符,它将帮助你将输出重定向到文件。

# sed '1 d' file.txt > new_file.txt

好吧,其实sed命令内建的‘-i’开关就可以干这活,就不需要重定向符了吧。

# sed -i '1 d' file.txt

3. 你怎么检查一个文本文件中某一行的长度?

解答:‘sed’命令也可以用来查找文本文件中的某一行或者检查其长度。

sed -n ‘n p’ file.txt’可以解决,这里‘n’表示行号,‘p’打印出匹配内容(到标准输出),该命令通常与-n命令行选项连用。那么,怎样来获取长度计数呢?很明显,我们需要通过管道输出给‘wc’命令来计算。

# sed –n 'n p' file.txt | wc –c

要得到文本文件‘tecmint.txt’的第五行的长度,运行如下命令:

# sed -n '5 p' tecmint.txt | wc -c

4. 可以在Linux系统上查看到所有非打印字符吗?你是怎么做到的?

解答:可以。可以在Linux中查看所有的非打印字符。要实现上面所讲的方案,我们需要‘vi’编辑器的帮助。 怎样在‘vi’编辑器中显示非打印字符?
  • 打开vi编辑器。
  • 先按[esc]键,然后按‘:’进入到vi编辑器的命令模式。
  • 最后,从‘vi’编辑器的命令界面输入set list命令并执行。

: 这种方式可以查看文本文件中的所有非打印字符,包括ctrl+m(^M)

5. 假如你是一个员工组的团队领导,为xyz公司工作。公司要求你创建一个‘dir\_xyz’目录,让该组成员都能在该目录下创建或访问文件,但是除了文件创建者之外的其他人不能删除文件,你会怎么做?

解答:这真是个有趣的工作方案。好吧,上面所讲的方案,我们需要通过下面的步骤来实施,这简直就是小菜一碟。
# mkdir dir_xyz
# chmod g+wx dir_xyz
# chmod +t dir_xyz

第一行命令创建了一个目录(dir\_xyz),上面的第二行命令让组(g)具有‘写’和‘执行’的权限,而上面的最后一行命令——权限位最后的‘+t’是‘粘滞位’,它用来替换‘x’,表明在这个目录中,文件只能被它们的拥有者、目录的拥有者或者是超级用户root删除。

6. 你能告诉我一个Linux进程经历的各个阶段吗?

解答:一个Linux进程在它的一生中,通常经历了四个主要阶段。

这里是Linux进程要经历的四个阶段。

  • 等待:Linux进程等待资源。
  • 运行:Linux进程当前正在执行中。
  • 停止:Linux进程在成功执行后或收到杀死进程信号后停止。
  • 僵尸:如果该进程已经结束,但仍然留在进程表中,被称为‘僵尸’。

7. Linux中cut命令怎么用?

解答:‘cut’是一个很有用的Linux命令,当我们要截取文件的指定部分并打印到标准输出,当文本区域以及文件本身很大时,这个命令很有用。

例如,截取‘txt\_tecmint’文件的前10列。

# cut -c1-10 txt_tecmint

要截取该文件中的第二,第五和第七列。

# cut -d;-f2 -f5 -f7 txt_tecmint

8. ‘cmp’和‘diff’命令的区别是什么?

解答:‘cmp’和‘diff’命令用来获取相同的东西,但各有侧重。

diff’命令输出为了使两个文件一样而应该做的修改。而‘cmp’命令则将两个文件逐字节对比,并报告第一个不匹配的项。

9. 可以用‘echo’命令来替换‘ls’命令吗?

解答:可以的。‘ls’命令可以用‘echo’命令来替代。‘ls’命令列出目录内容,从替换上述命令的角度讲,我们可以使用‘echo *’,两个命令的输出完全一样。

10. 你可能听过inode吧。你能简要描述一下inode吗?

解答:‘inode’是一个‘数据结构’,在Linux上用于文件标识。每个文件在Unix系统上有一个独立的‘inode’和一个‘唯一的’inode号。

到此为止吧。在下一篇文章中,我们将讨论另外一些有趣味性而又有知识性的面试问题。到那时,别跑开,请上Tecmint.com,别忘了在下面的评论部分给我们提供一些有价值的反馈哦。


via: http://www.tecmint.com/interview-questions-on-shell-scripting/

译者:GOLinux 校对:wxy

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

欢迎进入Linux内核系列文章的下一篇!本篇我们继续配置文件系统。

首先,我们启用"General filesystem local caching manager",它允许内核存储文件系统缓存。这可以增加在存储空间开销上的性能。

为了调试目的,缓存系统可以通过统计信息监控(Gather statistical information on local caching)。通常上,这个特性应该只在你计划调试的时候启用。

下面的特性很像上面的,但是这个特性存储延迟信息(Gather latency information on local caching)。再说一次,这是个调试特性。

"Debug FS-Cache"提供了很多其他的缓存系统的调试功能。

下面的缓存调试工具会保存文件系统缓存对象的全局列表(任何进程可以访问这个列表)(Maintain global object list for debugging purposes)。

为了增强网络文件系统的速度,启用接下来的驱动(Filesystem caching on files)。这个特性允许整个本地文件系统被用于远程文件系统和存储单元的缓存。Linux内核会管理这个分区。

有两种不同的用于调试的驱动可用于本地缓存系统和远程文件系统,它们是(Debug CacheFiles)和(Gather latency information on CacheFiles)。

大多数通常的光盘文件系统是ISO 9660标准的ISO-9660,故名(ISO 9660 CDROM file system support)。这个驱动用于读/写主流的光盘。

当读取光盘中的长Unicode文件名或者这类文件时,需要这个驱动(Microsoft Joliet CDROM extensions)。这是ISO-9660文件系统的扩展。

"Transparent decompression extension"允许数据以压缩形式写入并以透明方式解压读出。这允许光盘上存放更多的数据。

"UDF file system support"允许内核读/写UDF文件系统的可重写光盘。UDF被设计用来管理增量写入。UDF允许光盘思想闪存盘那样使用。系统可以比常规ISO-9660文件系统写入的光盘更快地写入以及更新。然而,这并不比使用闪存快。

如你所知,Windows是一个很流行的系统。有很多存储器使用FAT文件系统。万幸的是,Linux支持这样的文件系统。这会明显地增加内核的大小,但是既然FAT文件系统是如此的通用,那么这点开销也是值得的。

为了支持FAT文件系统,启用这个驱动(VFAT (Windows-95) fs support)。在写本篇的时候。驱动还不支持FAT64(通常成为exFAT)。

代码页的大小可以在这里设置(Default codepage for FAT)。

在此之后,可以设置FAT文件系统的默认字符集(Default iocharset for FAT)。

NTFS文件系统在这个驱动提供支持(Default iocharset for FAT)。驱动提供了只读特性。为了写入NTFS,启用这个驱动(NTFS write support)。

Linux内核提供了NTFS文件系统的调试工具(NTFS debugging support)。

要在root根目录下有个proc目录,必须启用这个特性(/proc file system support)。一些其他相似的驱动依赖于这个,包括(/proc/kcore support)、(/proc/vmcore support)和 (Sysctl support (/proc/sys))。proc系统("process"的缩写)使用的proc文件系统有时称作procfds。这个文件系统在硬件的内存中,并在启用时创建。因此,当你在浏览proc中的文件时,用户仿佛像在其他存储单元上那样浏览内存。proc扮演一个用户空间和内核空间之间接口的角色。proc是在内核空间。

"Enable /proc page monitoring"提供了一些文件监视进程的内存利用。

"sysfs file system support"创建/sys文件加。sys文件系统在内存中并提供了内核对象的接口。

tmp目录被许多应用需要,包括Linux自己,因此强烈建议启用这个驱动(Tmpfs virtual memory file system support (former shm fs))。tmp文件系统可能存储在硬盘或者内存中,并只被用于存储临时文件。

Tmpfs POSIX Access Control Lists"驱动tmpfs虚拟文件系统额外的文件权限特性。

"Tmpfs extended attributes"提供了通常的tmpfs更多的属性。

"HugeTLB file system support"驱动提供了基于ramfs的hugetlbfs文件系统。这个虚拟文件系统包含了HugeTLB页。

configfs文件系统是一个以文件系统形式存在的内核对象管理器(Userspace-driven configuration filesystem)。强烈建议启用这个驱动。ConfigFS很像sysfs。然而,ConfigFS被用于创建和删除内核对象,而sysfs被用于浏览和修改内核对象。

下面,我们可以回到"真正"的文件系统了。那就是用户用来存放他们个人文件的文件系统。下面,内核能够读取ADFS文件系统(ADFS file system support)。

AFDFS文件系统写入被一个独立且不稳定的驱动提供 (ADFS write support (DANGEROUS))。ADFS代表Advanced Disc Filing System(高级光盘归档系统)。

Linux同样支持Amiga快速文件系统(Amiga FFS file system support)。 http://www.linux.org/threads/amiga-fast-file-system-affs.4429/

"eCrypt filesystem layer support"提供了POSIX兼容的加密文件系统层。这个eCrypt可以 用于任何文件系统无论驻留的文件系统分区表是什么。http://www.linux.org/threads/intro-to-encryption.4376/

eCrypt层可以有一个设备文件如果启用了这个驱动(Enable notifications for userspace key wrap/unwrap)。设备路径是/dev/ecryptfs。

Linux同样支持HFS和HFS+(Apple Macintosh file system support)和(Apple Extended HFS file system support)。http://www.linux.org/threads/hierarchical-file-system-hfs.4480/与http://www.linux.org/threads/hierarchical-file-system-plus-hfs.4493/

BeFS可以在Linux上作为只读文件系统使用(BeOS file system (BeFS) support (read only))。通常上,编写读取特性比编写写入能力简单。

特殊的BeFS调试特性(Debug BeFS)。

EFS是另外一个Linux只读不写的文件系统。 (EFS file system support (read only)). http://www.linux.org/threads/extent-file-system-efs.4447/

一些闪存可能使用JFFS2文件系统(Journalling Flash File System v2 (JFFS2) support)。下面,可以设置调试层 (JFFS2 debugging verbosity)。 http://www.linux.org/threads/journaling-flash-file-system-version-2-jffs2.4495/

为了在NAND和NOR闪存上使用JFFS2,需要这个驱动(JFFS2 write-buffering support)。

下面的驱动提供了更好的错误保护(Verify JFFS2 write-buffer reads)。

启用"JFFS2 summary support"可以更快挂载JFFS文件系统。这个驱动存储文件系统的信息。

像其他的文件系统的扩展/额外属性驱动一样,JFFS2也有这种驱动(JFFS2 XATTR support)。

JFFS2文件系统支持不同的透明压缩系统。这允许JFFS2系统上的文件更小,并且在读取时不需要用户任何特殊的操作。 (Advanced compression options for JFFS2)、 (JFFS2 ZLIB compression support)、(JFFS2 LZO compression support)、(JFFS2 RTIME compression support) 和 (JFFS2 RUBIN compression support)。默认的压缩格式定义在下面的选项中(JFFS2 default compression mode)。

JFFS2的继任者也被Linux内核支持(UBIFS file system support)。无排序块图像文件系统(Unsorted Block Image File System (UBIFS)) 同样与LogFS竞争。

Linux内核同样支持LogFS(LogFS file system)。

基于ROM的嵌入式系统需要CramFS的支持(Compressed ROM file system support (cramfs))。

此外,嵌入式系统可以使用SquashFS,这是一种只读压缩文件系统(SquashFS 4.0 - Squashed file system support)。Linux内核也支持SquashFS的扩展属性(Squashfs XATTR support)。

SquashFS支持三种不同的压缩格式 (Include support for ZLIB compressed file systems)、(Include support for LZO compressed file systems) 和 (Include support for XZ compressed file systems)。SquashFS的块大小可以设置为4KB (Use 4K device block size?)。同样,可以设置缓存大小(Additional option for memory-constrained systems)。

Linux内核支持 FreeVxFS (FreeVxFS file system support (VERITAS VxFS(TM) compatible))、 Minix (Minix file system support)、 MPEG filesystem (SonicBlue Optimized MPEG File System support)、 HPFS (OS/2 HPFS file system support)、 QNX4 (QNX4 file system support (read only))、 QNX6 (QNX6 file system support (read only)) 和 ROM 文件系统 (ROM file system support)。 http://www.linux.org/threads/qnx-file-systems.4577/andhttp://www.linux.org/threads/minix-mini-unix-file-system.4545/

"RomFS backing stores (Block device-backed ROM file system support)"提供了ROMfs不同额外的属性和能力的列表。

"Persistent store support"驱动提供对pstore文件系统的支持,这允许访问平台级的持久性存储。

pstore文件系统可以存储内核日志/消息(Log kernel console messages)。

当内核崩溃时(相当于Windows中的蓝屏死机),"Log panic/oops to a RAM buffer"会在RAM中存储日志。

下面一个驱动提供对Xenix、 Coherent、Version 7 和 System V 文件系统的支持(System V/Xenix/V7/Coherent file system support)。

Linux内核同样支持UFS(UFS file system support (read only))、 (UFS file system write support (DANGEROUS)) 和 (UFS debugging)。

内核也支持exofs(exofs: OSD based file system support)。

flash友好型文件系统(Flash-Friendly FileSystem)是一种对于闪存设备的特殊文件系统(F2FS filesystem support (EXPERIMENTAL))、 (F2FS Status Information )、 (F2FS extended attributes) 和 (F2FS Access Control Lists). http://www.linux.org/threads/flash-friendly-file-system-f2fs.4477/

下篇文章我们将配置网络文件系统。谢谢!


via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-20.4957/

译者:geekpi 校对:wxy

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