标签 Linux 下的文章

Linux 有着广泛的用途。该平台用于很多家庭的简单使用,同时它也深受程序员和黑客们的青睐。此外,Linux 还广泛地应用在嵌入式系统中,有一系列专门适用于此类系统的发行版。我们将为大家推荐十个非常优秀的专为嵌入式系统发行的linux版本!

1.Ampro 嵌入式 Linux

这是一个自由和开放源代码的从Ubuntu精简来的轻量级操作系统。

2. BlueCat Linux from Lynx

这个基于 Linux 的发行版是Lynx套件的一部分,并为嵌入式系统打造。

3. CacheGuard OS

CacheGuard OS 是一个从零开始建立的集成了安全解决方案的基于Linux的版本,专门为网络管理设计的。

4. Darma NAS OS

这个发行版有一个基于 SSL 的加密客户端的服务器和基于 Java 的图形用户界面。

5. DIET-PC

这是开源的瘦客户端软件 kitset,它允许用户建立网络应用。

6. ELinOS

这个发行版为在嵌入式系统上工作的用户提供大量的技术。它是一个相当受欢迎的嵌入式 Linux 平台。

7. eLux

这个发行版有一个非常简单和容易使用的界面,适用于用户和管理员都不具有任何有关 Linux 的知识的特殊情况下。

8. eLux NG

这个发行版为支持 eLux 的处理器列表中添加了新的型号。

9. Embedded Coyote Linux

这种基于 Coyote Linux的防火墙和 VPN 服务器一直为很多人选择的平台。

10. 嵌入式 Debian 项目

这个项目的目的是使 Debian GNU/Linux 成为嵌入式系统的第一选择。


via: http://www.efytimes.com/e1/fullnews.asp?edid=137612

译者:owen-carter 校对:wxy

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

你好!本篇我们将继续配置"kernel hacks",接着我们会配置整个安全系统。

Alpha和s390处理器需要配置下一个特性(Force weak per-cpu definitions)。这个特性修复了一个在这类处理器中普遍存在的寻址问题。其他的处理器无需启用这个特性。

内核转储可以用这个特殊的调试工具测试(Linux Kernel Dump Test Tool Module)。这个软件会允许内核开发者触发一个假错误来导致内核转储。内核开发者可以保证转储成功执行。

内核提供了不同的错误注射模块来允许内核开发者测试通知(CPU notifier error injection module)、 (PM notifier error injection module) 和 (Memory hotplug notifier error injection module)。通知器提醒系统硬件还在,这对热插拔很重要。这些错误注射模块在这些通知系统中触发一个错误,那么开发者就可以测试通知系统的错误处理能力了。

"Fault-injection framework"驱动提供了不同的用于测试错误处理的工具。

"Latency measuring infrastructure"驱动提供了延迟检测工具LatencyTop,以找出用户空间中由于内核执行/任务而被阻碍/干扰的对象。

下面,我们有一个子菜单名为"Tracers",它包含了不同追踪器的列表。追踪器是一段监视不同内核函数的代码。每次某个特定的函数启动,追踪器将被调用来检测函数。

下面的模块用来测试红黑树库的性能(Red-Black tree test)。红黑树是一个排序和搜索算法。

下面的特性是相同的除了用来测试区间树库(Interval tree test)。

在启动远程特定系统时,内核同样可以在其他系统上调试FireWire (Remote debugging over FireWire early on boot) 和 (Remote debugging over FireWire with firewire-ohci)。

printk()函数可以用来打印不同的调试信息,如果这个特性启用的话(Enable dynamic printk() support)。"printk()"是一个常被讨论的系统调用,所以记住这个打印内核相关消息。

这是一个直接内存访问(DMA)调试驱动(Enable debugging of DMA-API usage)。

Atomic64自我测试检查系统是否支持原子操作(Perform an atomic64\_t self-test at boot)。这是一个32位系统执行64位操作。

这个驱动提供了对于所有可能的RAID6恢复系统的自检(Self test for hardware accelerated raid6 recovery)。

注意:自检是底层测试并且在绝大多数系统硬件和软件开启和执行前侦查软件。自检搜索硬件,失败的设备等等。自检也可能被编成应用以测试它本身。

在"Kernel Hacking"菜单中(如果你是用的是像ncurses那样的菜单接口),有一个名为"Sample kernel code"的子菜单。在以后的文章中,我们会讨论如何实现自定义/自制内核模块。只要记住这里是启用你自己的模块。

Kernel GNU DeBugger (KGDB)(内核调试器)有许多特性可以启用或者禁用(KGDB: kernel debugger)。这个调试器只工作在通过串行连接的两个Linux系统之间。

这个特性提供在启动时显示额外bzimage解压消息(Enable verbose x86 bootup info messages)。在内核配置的开始部分你设置了内核加密。

printk()打印不同的消息到dmsg的启动界面,但是在串行和控制台驱动加载后。启用这个驱动会使printk()更早打印信息(Early printk)。

下一个驱动和上面的一样,但是使用EHCI端口(Early printk via EHCI debug port)。

内核可以被设置来观察堆栈溢出,这样内核可以更好地管理错误(Check for stack overflows)。内核会执行的更慢,但是溢出不会造成如此大的损害。

通过启用这个,内核页面可用debugfs见到(Export kernel pagetable layout to userspace via debugfs)。然而,这个会使内核变慢。这个用于调试目的。

内核的写入错误可以被这个特性捕捉到(Write protect kernel read-only data structures)。这个选项会使内核的只读数据编程进入写保护模式。此调试工具会损害内核的速度。该调试工具还有一个用来调试其自身的工具(Testcase for the DEBUG\_RODATA feature)。

为了防止被修改过代码的模块执行(由于一个错误),接着启用这个保护性特性 (Set loadable kernel module data as NX and text as RO)。这个调试工具由这个驱动提供(Testcase for the NX non-executable stack feature)。

使用这个选项,内核可以一次刷新一个TLB条目或者整张表 (Set upper limit of TLB entries to flush one-by-one)。

下一个特性是IOMMU调试特性(Enable IOMMU debugging)。这是另外一个调试测试,禁用一些IOMMU特性来用于测试稳定性(Enable IOMMU stress-test mode)。IOMMU代表"input/output memory management unit"(输入/输出内存管理单元)。

启用这个选项回事内核以30s的间隔在changepageattr()系统调用上执行单端测试。这个系统调用会改变页的属性。

任何被标以"inline"的内核代码,如果没有被表明的也同样会被GCC操作(Allow gcc to uninline functions marked)。GCC编译器会增加使得代码更好的代码(GCC擅长这么做)。然而,一些代码不想被GCC操作。

下面的驱动提供了对"copyfromuser()"系统调用的基本测试(Strict copy size checks)。copyfcromuser()从用户空间拷贝数据块到内核空间中。

这里还有一个自检;它用于NMI(NMI Selftest)。

现在,我们会进入"Security Options",如果你使用像ncurses的基于菜单的接口时。第一个选项允许访问内核中存储的键和验证令牌(Enable access key retention support)。这有很多原因用到,像访问加密文件系统。

下面的选项用于创建并密封/开启键((TRUSTED KEYS))。加密的键使用这个驱动加密/解密(ENCRYPTED KEYS)。

启用这个特性键可以在/proc中看到(Enable the /proc/keys file by which keys may be viewed)。

使用这个安全特性,额外的限制可以应用到syslog中(Restrict unprivileged access to the kernel syslog)。

如果启用这个选项,那么用户可以选择不同的安全模块(Enable different security models)。不然,将会使用默认。如果你不完全理解安全或者如果你对使用默认感到没问题,那么就禁用它。

这个驱动提供了securityfs文件系统(Enable the securityfs filesystem)。

当启用这个特性后,钩子将会被增加到网络和套接字安全中(Socket and Networking Security Hooks)。这些钩子是访问控制。

IPSec网络钩子(also called XFRM networking hooks)在这个选项启用后实现(XFRM (IPSec) Networking Security Hooks)。安全钩子同样可被文件使用(Security hooks for pathname based access control)。

下一个驱动提供了对Intel可信赖执行技术的支持(Enable Intel(R) Trusted Execution Technology (Intel(R) TXT))。

用户可以设置无法为用户空间保留的内存寻址范围(Low address space for LSM to protect from user allocation)。开始点是0。用户在此选项中输入结束点。对于大多数平台而言,65536是一个建议值。

SELinux(在内核安全的文章中提到)是一种流行的Linux安全模块(NSA SELinux Support)。SELinux存在很多选项和特性。启动参数决定了当内核执行(NSA SELinux boot parameter)时SELinux是否启动{1}或者不启动{0}。SELinux可以被配置成在root用户需要时临时禁止(NSA SELinux runtime disable)。用户可以启用这个特性开发并测试新的策略(NSA SELinux Development Support)。AVC统计被这个特性收集并被存储 (NSA SELinux AVC Statistics)。对于checkreqprot标志有一个默认设置;"1"意味着SElinux会检查应用请求的保护,"0"会默认使用内核对mmap和mprotect系统调用的保护(NSA SELinux checkreqprot default value)。存在很多的SElinux策略;用户可以设置他们不希望SELinux excede的最新版本(NSA SELinux maximum supported policy format version)。

另外一个Linux安全模块(LSM),SMACK,也被内核支持(Simplified Mandatory Access Control Kernel Support)。

TOMOYO是另外一个被支持的LSM(TOMOYO Linux Support)。在学习模式中允许被添加的最大条目数目在下面的特性中设置(Default maximal count for audit log)。接下来,这个选项允许/禁用TOMOYO在没有策略加载器下被激活(Activate without calling userspace policy loader)。策略加载器的位置在这里被配置((/sbin/tomoyo-init) Location of userspace policy loader),触发执行的可执行文件在这里设置((/sbin/init) Trigger for calling userspace policy loader)。

再说一次,内核支持另外一个LSM - APPArmor(AppArmor support)。像SELinux一样,可以为AppArmor设置默认的启动参数(AppArmor boot parameter default value)。

Yama是另外一个LSM(Yama support)。如果启用这个特性Yama可以与另外一个LSM一起使用(Yama stacked with other LSMs)。

这个驱动让内核可以使用多个密钥链来验证进程(Digital signature verification using multiple keyrings)。

非对称键在这个特性中支持(Enable asymmetric keys support)。

内核可以保存并维护一个哈希和重要系统文件的列表(Integrity Measurement Architecture(IMA))。那么,如果恶意软件改变了一个重要的文件,内核会知道因为文件或者可执行文件被使用时内核会检测哈希值。强烈建议启用这个特性。

如果启用这个特性会加入额外的安全属性(EVM support)。可以用下面的选项设置版本(EVM HMAC version)。有两个选项分别是version 1和2。

记住所有的Linux安全模块的不同了么(LSMs)?好的,下面可以设置默认模块(Default security module (AppArmor))。

下一篇中,我们会配置"Cryptographic API"。我估计还会剩下两篇文章。在这之后,我们会讨论其他的内核主题。

先睹为快:本篇之后,关于配置还有一篇。接着,我们会完成编译并安装内核。

致我的粉丝:你随意给我致信或者给我电子邮件来建议你希望在以后的内核文章中想要看到的主题。我已经收到了一些来自这个系列读者的一些建议。请随意给我更多建议。


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

译者:geekpi 校对:wxy

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

通常的 Linux 发行版都使用 KDE 或者 GNOME 作为默认的桌面环境。它们都给用户提供了一个原始的并且有吸引力的桌面,并且内置了各式各样的多媒体软件、系统程序、游戏、实用程序、网页开发工具、编程工具等等。这两个桌面致力于提供给用户一个拥有类似于 Windows 操作系统体验的尖端计算环境,而不是如何更少的占用系统资源。

如果你正在使用 Ubuntu (或者其他Linux发行版) 并且厌倦了始终使用 Unity 桌面,那么你应该看看这些可以替代 Unity 的选择。我收集了 7 种桌面环境。它们都很棒。在你读完这篇文章之后,请试着使用它们吧。

Mate

MATE 是 GNOME2 的一个分支。它提供了一个自然且吸引人的桌面环境。它是 Linux 和其它类 Unix 工作环境中的传统工作框架的代表。MATE 在保留传统的桌面体验的同时正在不断进步使用新的技术。

在 Ubuntu 14.04 中,可以直接从 Ubuntu 软件中心获取 MATE 桌面。

KDE

KDE 是另一个类似于 GNOME 一样的重量级桌面环境。它在本文章所提及的7种桌面环境中被认为是最华丽最重量级的一个。它同样是一个类似于 Windows 的桌面,在这一点上没有什么特殊的变化。不过 KDE 非常有特点,但是随之而来的是可以通过大量的设置来提升你的桌面体验。同样的,有很多关于 KDE 的话题,所以你可以很舒服的使用 KDE,并让它以你希望的方式工作。

Cinnamon

Cinnamon 是一个基于 Gtk+ 的环境。它最初作为 GNOME Shell 的一个用户界面分支,由 Linux Mint 为其创建的。 Cinnamon 的核心设计目标是让桌面终端和触屏设备都能完美操作。无论是使用鼠标,还是使用触摸屏都可以获得同样便捷的操作。不像 KDE Plasma 工作空间,只有一种图形用户体验。当前版本—— Cinnamon 2.0 于2013年10月10日发布。

Unity

Unity 是 GNOME 桌面环境的一个界面,由 Canonical 公司创建,用于 Ubuntu 系统中。Unity 最初现身于 Ubuntu 10.10 的上网本版本中。它起初打算充分利用上网本的屏幕空间,例如一个竖直的应用启动器和一个节省空间的多功能顶部菜单栏。Unity 不像 GNOME、KDE、 Xfce 或者 LXDE 是许多软件的合集,它是为了可用性而开发的。

GNOME Shell

GNOME 提供了桌面核心接口例如交换窗口,启动应用程序以及显示提示。它利用先进的图形硬件来实现吸引人的、创新的界面思想,提供了愉悦简单的用户体验。GNOME Shell 定义了 GNOME 3 的客户体验。

作为 GNOME 的一个重要组成部分, GNOME Shell 的稳定版本首次发布于2011年3月3日。

Xfce

Xfce 是一个轻量级的桌面环境,围绕 GTK 框架实现。它看起来很像 Gnome 2 和 MATE,然而 Xfce 是它们的轻量级替代品。相较于 KDE 和 GNOME 3 而言,Xfce 非常轻量级,所以它对于运行轻量级的工具或者那些希望实现最大执行效率的框架使用者来说是理想的环境。它还不是可以获得的最轻量级的选择 - 请继续往下看 - 然而,Xfce 的确完成了执行效率和功能的平衡。

LXDE

LXDE 显然是桌面环境中最轻量级的选择,至少在传统的桌面标准中是这样。这个基于 GTK 的桌面环境使用了很多轻量级的选择替代了默认的应用(例如 Abiword, Gnumeric, 而不是 LibreOffice)。它没有提供炫目的视觉震撼 ,总体感觉也不是特别的棒,没有高级的设置。但是,LXDE 仍然提供了漂亮的桌面和完整的功能。当你需要快速简洁时,它就是你的选择。


via: http://pulpybucket.com/top-7-desktop-environment-linux/

译者:wwhio 校对:Caroline

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

(一)

话说windows也有syscall,这是必须的。但是win的syscall可以直接call吗?可以是

可以但是破费周折,搞成SDT之类的复杂概念。下面看看linux是如何做的吧。

section .data
msg db "hello hopy!",0x0a

section .text
global _start

_start:
    mov eax,4
    mov ebx,1
    mov ecx,msg
    mov edx,12
    int 0x80
    
    mov eax,1
    mov ebx,0
    int 0x80

关键是系统调用号要知道,开始找的是usr/include/asm-gen*/unistd.h,

可是都不对。后来找的是usr/include/x86\_64\_linux\_gnu/asm/下的头文件,

有2个,分别对应x86和x64.、编译连接指令如下:

nasm -f elf main.asm
ld main.o

运行,段转储错误鸟,查了一下,本猫用的是x64位的linux,所以要生成

x64位的程序,或者指明是x86的程序,我选择后者:

ld -m elf_i386 -o main main.o

哦鸟!

(二)

我们在前一章中看到了如何仅仅用syscall做一些简单的事,现在我们看能不能直接调用

C标准库中的函数快速做一些"复杂"的事:

section .data
    ft db "now is %d",10

section .text
extern puts
extern exit
extern sleep
extern printf
global main

main:
    mov edi,11
again:    
    dec edi
    push edi
    push ft
    call printf
    
    push 1
    call sleep
    
    cmp edi,0
    jnz again

    push msg
    call puts
    
    push 0
    call exit
    
msg:
 db "happy xxx day!",0

以上代码功能很简单,从10倒数到0,然后打印一行,最后结束.与之前代码不同的是其中

调用了C标准库中的函数.编译和以前一样:

nasm -e elf main.asm

我们看看怎么连接:

gcc -m32 -o main main.o

好鸟!运行正常.

值得注意的是:我的OS是ubuntu64,而asm代码中是32位的,如果开始用

ld -m elf_i386 -lc -o main main.o

的方式,首先会提示找不到c库,这可以进入/usr/lib,然后使用

sudo ln -sv /lib/i386-linux-gun/libc.so.6 libc.so

创建软连接解决.

但在运行时提示无法找到可执行文件!该文件明明在的!

遂用gcc来连接,但要将\_start改为main,还要装载32库

sudo apt-get install ia32-libs

还会提示找不到h文件,这时再装载库

sudo apt-get install g++-multilib

还有2族库,如有必要也可加载:

sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 
libstdc++5:i386 libstdc++6:i386
sudo apt-get install libc6-i386

最后要说的是,一些C代码在用std=c99编译时会发现提示无法获取结构大小,

这时改成如下即可:

gcc -D_GNU_SOURCE -std=c99 main.c

(三)

在(二)中我们尝试使用了C库的函数完成功能,那么能不能用syscall方式

来搞呢?显然可以!

section .data
    ft db "now is X",10

section .text
global _start

_start:
    mov edi,10
again:
    dec edi
    mov eax,edi
    add eax,0x30
    mov byte [ft+7],al

    mov eax,4
    mov ebx,1
    mov ecx,ft
    mov edx,9
    int 0x80

    mov eax,162
    push 0
    push 1
    mov ebx,esp
    mov ecx,0
    int 0x80
    
    cmp edi,0
    jnz again
    
    mov eax,4
    mov ebx,1
    mov ecx,msg
    mov edx,15
    int 0x80
    
    mov eax,1
    mov ebx,0
    int 0x80
    
msg:
 db "happy xxx day!",10

--

nasm -f elf main.asm
ld -m elf_i386 -o main main.o

在代码中延时使用的是nanosleep,其他和第一篇一致,只不过做了一个bin->ascii的小转换.

via: http://blog.csdn.net/mydo/article/details/8224352http://blog.csdn.net/mydo/article/details/8452386http://blog.csdn.net/mydo/article/details/8452417

MacBook Pro拥有非常强大的配置,但是有些人想强上加强,他们想用Linux系统。

不管您是想要更开放和个性化的操作系统又或者是您只想要使用某些在Linux特有的软件,您都会想要在您的MacBook上安装Linux。 可惜的是MacBook Pro们可是一块块密不透风砖头,让您想装其他系统又无从下手。尤其是Linux,比在MacBook上装Windows还难。 Boot Camp对于Linux来说也没有什么用处。 虽然如此,但并不代表您完全不能做到,装机走起!

为什么要在MacBook Pro Retina上装Linux?

买MacBook不就是为了OS X吗?为何要装Linux? 其实买MacBook的原因不仅仅只是因为它的操作系统, 其极致的硬件性能,超长的电池寿命,以及抗操抗造都是购买它的原因。 这些这么好的硬件再加上一块能让您体验到HiDPI的清晰度Retina显示屏,其不皆是买入的理由乎?

但是如果您对OS X无爱,又或者您真心想要使用Linux,为何不将这自由、开源、小巧、个性化的Linux塞进您的高大上的硬件呢?苹果可能有话要说了,可谁在乎呢~

注:在本期教程我们将会使用最流行的Linux发行版 - Ubuntu来作为我们这次安装的选择。您也可以用自己想用的的Linux发行版,但相关的步骤会和本教程略有出入。 如果您把自己的系统玩坏了,我们将不承担任何责任。 本教程将教您如何 Linux 和 OS X 双系统启动,另外只有在OS X才能升级固件,所以我们建议您不要将OS X 删除。

但在我们开始之前,请您用您喜欢的方法(比如Time Machine 或 CrashPlan)将您的电脑彻底备份,以防万一。

下载 Ubuntu

首先您需要下载一份Ubuntu桌面版安装镜像 。 务必选择64位的桌面版,虽然该镜像并不是为Mac提供的。该镜像在BIOS和EFI模式下都能启动,而Mac的镜像却只能在BIOS启动。Mac是专门设计成这样的,但是我们要使之以EFI模式下启动。

写到U盘(USB)

其次, 找个2GB以上的USB, 我们将会用该USB作为Ubuntu的安装启动盘。 你可以按照 Ubuntu官方指导的步骤 或者 使用专用的图形化工具 来准备安装盘.

调整分区大小

当你完成上一步后,你的Mac Book Pro就做好安装的准备了。 打开Disk Utility(磁盘工具), 点击左边选择你的硬盘, 选择Partitions(分区)标签页。 把Mac分区缩小到你喜欢的大小 - 我们将会用新创建的可用空间来安装Ubuntu。

启动Ubuntu镜像

上述步骤完成后,将U盘插入并重启Mac Book Pro。当关机之后屏幕一黑时,请按住Option键(alt)直到你看到不同的启动选项。选择EFI选项(如果有两个的话选择左边的哪一个)来从USB启动Ubuntu.

当你看到“Try Ubuntu" 和 "Install Ubuntu" 两个选项的时候, 选择 "Try Ubuntu" 因为我们需要在安装完成之后重启之前弄一些其他的东西。

安装器

当Ubuntu的桌面加载好之后,一路向下走直到你看到分区的这一步。 如果你连接不上WiFi的话就代表你的Ubuntu还暂时不知道如何跟你这位高大上Mac做朋友, 不过不用担心, 我们暂时还不需要网络, 在你迟些重启的时候会自动识别你的驱动。

到分区这个步骤之后, 选择 "Do Something else" 这个选项。 然后请确保那块大约128MB左右的分区已经被识别为EFI启动分区(你可以点击它然后选择Option来确定一下; 另外,那个分区应该是 /dev/sda1)。下一步, 你要在新建的空间里创建一个 ext4分区,在其上挂载“/”路径。 如果你知道你自己在干嘛的话也可以创建几个不同的分区(切记这不是Windows啊孩纸)。

在你开始下一步之前,请确保你的安装引导程序(boot loader)是选择了 /dev/sda1,GRUB也是装到该分区的。 然后按照平常一样该咋装咋装。

修改 EFI 引导

当你的安装器装完Ubuntu之后,不要按重启!!! 我们还需要弄这么点东西才能使用GRUB。 请运行下列的指令:

sudo apt-get install efibootmgr

这个将会暂时地安装一个EFI boot的配置工具,然后 运行:

sudo efibootmgr

这个将会显示出当前的启动设置, 你应该看到的是 "ubuntu" 和 "Boot0000",当前的EFI设置是把系统指向 Boot0080,这样的话就会跳过GRUB然后直接跳入OS X,所以我们要用以下指令来修复它:

sudo efibootmgr -o 0,80

现在就可以重启了!

恭喜你啦~你的Ubuntu现在应该就可以用了哦!不过下列的一些调整会让性能提升哦!

坑爹地调整设置

首先你需要改一下GRUB的设置,这样你的SSD盘才不会偶尔死机, 在Terminal输入:

sudo nano /etc/default/grub

找到 GRUB\_CMDLINE\_LINUX那一行 , 把它改成 GRUB\_CMDLINE\_LINUX="libata.force=noncq" 。 按下CTRL + X保存,然后按Y来确定保存。 接下来你要在Terminal输入:

sudo nano /etc/grub.d/40_custom

打开一个新的文件,请使用真丶精准手指准确地一字一字输入:

menuentry "Mac OS X" {
exit
}

这将会让你boot到你安装好的Mac OS X(GRUB的32-bit和64-bit项不能用)。然后CTRL+X 和 Y 保存退出,然后输入:

sudo update-grub

最后必须要重启才能生效。

在极其高清的Retina显示屏上神马都这么小,坑爹啊啊? 去Setting -> Display 里把 Scaling Factor弄大一点吧,不然妈妈又要担心你的近视眼了。

你也可能觉得在边边上改变窗口大小是一件极其困难的事情,坑爹啊啊? 去Terminal输入:

sudo nano /usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml

然后在里面修改成下面的参数:

<distance name="left_width" value="4"/>
<distance name="right_width" value="4"/>
<distance name="bottom_height" value="4"/>

如果还是太小,把上面的东西改成6吧!

最后,如果你觉得你的Linux把你那Retina鲜艳的颜色洗掉了,请到你的OS X盘,找到以下的文件:

/Library/ColorSync/Profiles/Displays/Color LCD-xxxxxx.icc

xxxxxx只是一串随机的字符,不过这路径应该只有一个文件。把他搬到你Ubuntu的Home folder, 然后到 System Settings –> Color 选择 Add New Profile 并选择你那刚弄过来的icc文件。

总结

恭喜你啦, 现在终于有一台属于你的Linux MacBook Pro Retina啦!如果你想把你的Ubuntu弄得更手熟,请按 让你的Ubuntu 像家一样舒服 尽情地修改配置吧! 该教程也可用于其他的Mac系统,当然每种Mac都有不同的好处和坏处。 如果你用的是其他的Mac,请翻一翻这篇为Ubuntu写的文档

另外,你还可以看一下其他可以在Mac安装的Linux 发行包哦!

Image Credits: K?rlis Dambr?ns Via Flickr


via: http://www.makeuseof.com/tag/install-linux-macbook-pro/

译者:213edu 校对:wxy

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

采用小企鹅不管是对于小企业还是大企业而言,都是一个明智的选择。Linux曾经被认为是业余爱好者的操作系统,但是经历了很长一段历程后,现在它成了企业级系统。它很稳定,而且很安全。Linux易于定制,而且有庞大的社区提供帮助。这只是迁移到Linux桌面的部分理由。

迁移到一个不同的系统,从来都不是件容易的事。继续开着窗户(Windows),或吃着苹果(MacIntosh)可能是个令人沮丧且代价高昂的体验。花钱升级新的硬件来赶上高贵的新软件时髦,这往往是毫无价值的做法。

在家里或一个小型的办公环境中运行一个Linux发行版,这是个有益的尝试,它可以带来开支的节约和效率的提升。对于企业环境而言,采用Linux服务器系统来替代微软基础架构常常是个明智的商业选择。

然而,放弃熟悉操作系统下的舒适环境的过程看起来比实际更具挑战性。个人用户和中小型企业可以分阶段迁移到Linux桌面。软件是免费的,而用户已有的硬件是可以支持Window和Linux架构的。

许多更大型的企业已经跑起了它们自己的Linux服务器仓库和完整的Linux桌面应用,这里它更容易适应。基于云的软件的使用使得办公室人员在使用他们的工作站工作时意识不到有很大的改变。

“是否迁移到Linux取决于使用情况。如果在家里使用,或者从事开发,那么你会想使用Linux中所有可用的功能。那是没脑子的想法。迁移到另外一个操作系统从来没有一帆风顺的。没有哪种使用情况可以适合所有场合,它取决于用户基础。“麦克 瓦伊塔尔,Talkpoint首席技术官,告诉LinuxInsider。

在中小型企业中和企业客户一起工作,瓦伊塔尔发现,利用新技术的个人用户和公司领导者的数量在增长,这些新技术将他们吸引到Linux中来。

舒适度期望值

这些Linux技术之一就是Chrome OS,还有现在由基于Linux的Chrome操作系统驱动的廉价笔记本。

由于用户已经熟悉Google的Chrome浏览器,或者开源的Chronium浏览器项目,使用Chromebook或者基于云的运载系统使得迁移到Linux变得小菜一碟。

“忽略使用的操作系统,其中一个问题是浏览器的能力。我们已经发现,用户85%的时间花在浏览器中”Splashtop的共同创立者及产品管理高级副总裁托马斯.邓这样对LinuxInsider说。

邓发现,那些有着快速学习曲线、能适应较新技术的人对此越来越有兴趣。人们使用多种多样的产品。因此迁移到一个与他们在其它设备上使用过的系统类似的系统,会使得迁移更平稳。

Chrome迎合潮流

移动设备用户,不管是在家中还是工作中,越来越精通Linux,而他们根本不知道这是个什么系统。他们在几个操作系统间切换。伴随着熟练程度的提高,开源环境也越发让人感觉舒适。通过云平台来分发跨平台软件,这是一个附加的迁移措施。

“Google正在做的是与办公套件相关的一些真正有趣的事情。Google现在正在它的Chrome OS上敞开大门。”瓦伊塔尔说。

对于关闭窗户(Windows),敞开大门(Chrome OS),一个很好的例子是它的公司内部使用Chrome驱动的工具。例如,Talkpoint使用ChromeBox设备。

“那就为多媒体团队和传统的AV用户敞开了大门。我们看到该技术上的很多进展。”瓦伊塔尔解释说。

平板打破传统

另外一个Linux设备为迁移到桌面OS铺平道路的例子是安卓系统的流行。加上这个为智能手机和平板电脑改良的Linux发行版。

“对于迁移到Linux的人而言,人们对平板界面感到很舒服,尤其是在对Windows 8界面感到不满之后。我认识的每个人都试着回到Windows 7。”瓦伊塔尔说。

云计算具有Linux影响力

人们希望使用像MS Offcie这样熟悉的生产工具来进行文字处理。而在Windows平台上,开源产品不怎么被人熟知。因此,在开始迁移到完整的Linux桌面之前,先整合开源工具到原有平台会很有帮助。邓解释道。

随着Google Docs和Google Chrome浏览器的流行,Windows用户不知道开源的趋势正在发生改变。他指出。

“让迁移到Linux变得方便的另外一条路是迁移到云端,使用云端应用。”邓说。“对用户进行教育,是将用户迁移到Linux的最有效的方式。Chromebook正大量被采用,这是一条迁移到Linux便捷的道路。”

小企鹅威猛

聘请Tux,Linux的吉祥物小企鹅,对于小企业和大企业来说都是明智的选择。它是一个成熟、稳定而又灵活的操作系统,绝对可以帮你干活。据肖恩.塞乐,视觉解决方案高级产品经理说。

“对于小型商业公司,运行Linux来替代其它操作系统是令人信服的选择,而且也带来优势,当然这取决于你的公司的需求。”塞乐告诉LinuxInsider。

它曾经被认为是业余爱好者的操作系统,但是经历了很长一段历程后,现在它成了企业级系统。它很稳定,而且很安全。Linux易于定制,而且有庞大的社区提供帮助。这只是迁移到Linux桌面的部分理由。

商业加分

利用更多的社区支持模式可以节约成本,塞乐说。Linux可以获得免费的社区支持,也可以付费订阅完整的技术支持。一些Linux版本也有硬件和软件认证这些东西,这些对于某些工作环境是很重要的。

例如,小型商业公司和大型企业可以完整地免费运行像CentOS或者OpenSuse这样的发行版,或者也可以从Red Hat或者Suse来整合付费的版本。即便是一个完整的订阅服务,Linux也比Windows或者传统的Unix提供了更低的总拥有成本,以及更好的投资回报,塞乐解释道。

“我相信,让小型企业来切身体验一下Linux很有意义。”塞乐补充道,“由于在社区以及像IBM和Red Hat这样的公司的帮助下,开源软件总体上正以快速的步伐帮助推动革新,Linux有一个光明的前途。”

小心爽一把

操作系统在家庭和工作场所有不同的忠实用户。就拿BDNA的CTO沃克.怀特来说吧。他在家里使用Linux作为桌面操作系统,但是他的家人却对他热衷的东西并不买账。

“我的家人用Mac之类的。他们盲目追随市场营销和功能炒作,而根本不考虑性能之类的东西。我在家里进行一个人的圣战,试着策反更多的人来加入Linux阵营。”怀特告诉LinuxInsider。

在他的公司里有类似的死忠派在奋斗,他说道,他公司里Linux桌面使用并不普遍 —— 但他们为Linux在工作中更广泛地部署打下了基础。

BDNA在内部使用Google应用很多。公司也在把越来越多的东西迁移到基于云计算的产品中。无论如何,这会给筹备中的工作更多的支持。

“当我切换到想OpenOffice这样的应用时,该操作必须真正实现无缝操作以捕获更多人的心。从纯市场角度看,开发者需要稍稍改变一下游戏规则。苹果赢得了年轻孩子和30岁年轻一代的心。我经常在我公司听到这样的想法。”他说。

小企鹅对战苹果

增加新的硬件设备是高端的MacBook Pro的特点,怀特解释道。尽管他们主要使用的工具是在线工具,BDNA的职员还是想要华而不实的,高度宣传的硬件。

为了打破这种观念,他不得不将操作系统和硬件的功能分离。战役的一部分是将用户与操作系统本身隔离。而这只有在企业同时有在线和离线的生产力应用程序才会发生,据怀特说。

“即使是使用文件管理器这样简单的事情,也应该将注意力放在操作系统允许我们在我们使用的应用里头做什么,而不是操作系统本身。”他说。

爽到极点

操作系统多大程度上控制计算机用户?这个问题对于迁移到Linux而言很关键,怀特说。

想想Chromebook以及安卓手机和平板的不断成功,消费者真的需要知道他们正在运行Linux么?

“我认为迁移到Linux以及Linux在家里成功的关键在于,我们可以在线做多少事情。”怀特说,“因为我在家里使用Linux,所以我看到了其中的优势。”

你是否启用家庭消费者层面的设置,或是转向家庭或小企业用户设置,重点在于用户可以兼容他们使用的工具和功能。这里头包括像共享和创建文档,以及与之相关的事情,他说明道。

迁移措施

对于市场而言,软件和硬件生产商需要减少对操作系统的关注。例如,Chromebook正以苹果销售MacBook类似的方式获得大众认可。Google与其说是在贩卖Linux操作系统,倒不如说它是在销售应用,怀特回答道。

“开发者真正需要做的是改变工作重点,让用户和Linux相处融洽,而不是让他们停留在使用非Windows,或者非Mac操作系统的踌躇上。不管你用什么,必须可以让它做你想让它做的事。像Chromebook这样的事物正是秉承了这样的观点,将Linux操作系统本身掩盖了起来。”他指出。

计算机生产商必须首先开始打破“它是Windows”或者“它是Mac”这样的模式。到那个时候,迁移到Linux的数量才会大幅攀升,怀特总结道。

“这无关操作系统品牌,”他说,“而在于运行该操作系统的设备所能做的事。”


via: http://www.linuxinsider.com/story/80415.html

译者:GOLinux 校对:wxy

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