分类 技术 下的文章

现在在手机上测试Ubuntu变得更加简单,可以从Canonical上下载一个程序,它可以安装新的操作系统而不必删除原有的Andorid。能够双启动的系统可以吸引更多的用户关注手机/平板上的新开源平台。

Canonical在它的网站上有一个流程解释了如何在手机上安装Ubuntu,但是这实际上需要删除Android系统才能获得新的操作系统。Ubuntu的开发者已经做了大量的工作,这个新的系统看上去很棒,但是如果你决定退回到Android,你就需要删除Ubuntu并安装Google的Android系统。这意味这你不得不重复设置你的电话,这可能会比较麻烦。

幸运的是,现在有一个称为MultiROM Manager的解决方案,它由Vojtech Bocek开发,现在已经可以在Google Play上下载到了,而且支持Nexus 7 (2012 & 2013)、 Nexus 4 和 Nexus 5。

另一方面,Ubuntu Touch只支持Nexus 4 (mako) 、Nexus 7 (2013) 平板 (flo)和 Nexus 10 平板 (manta),因此除非你有这些设备,否则你可能不能安全地执行这些步骤(它可能能够工作,但是不保证会让你的设备变砖同时/或者失去所有的数据。)

首先,你需要一台解锁的设备,既然你有一台Nexus的设备这应该不是一个问题。你同样还需要root你的Andorid设备,这样你才能在这个应用里安装操作系统。

有很多工具可以完成这个root的工作。首先,你需要安装ADB(Android Debug Bridge), 它随同Canonical的工具一起提供。你需要在终端下运行下面的命令:

sudo add-apt-repository ppa:phablet-team/tools
sudo apt-get update
sudo apt-get install ubuntu-device-flash

现在,你需要下载两个二进制包,TWRP 2.7.0.0SuperSU,它们可以让你实现root。复制SuperSU的二进制zip包到你的电话内存中,运行下面的命令进入bootloader(译注:原文的命令 sudo reboot bootloader,应该是笔误丢失了adb 命令 ):

sudo adb reboot bootloader

在你的电脑上解压TWRP文件,并用下面的命令安装镜像到手机上(用你下载的文件名代替下面的“recovery.img”)(译注:此处的fastboot应该也需要sudo权限才可以执行。)

sudo fastboot flash recovery recovery.img

从bootloader菜单进入recovery,你就会看到TWRP 2.7.0.0。运行TWRP并安装SuperSU二进制包,接着重启。

现在你已经有root访问权限了。安装Multi Manager,应用补丁,并为手机下载Ubuntu。应用会要求root权限,接着安装会顺利进行。当你重启的时候你会看到一个小窗口提示你选择你要运行的系统。选择Ubuntu后你就可以运行了。

是不是新的享受?


via: http://news.softpedia.com/news/Hot-to-Dual-Boot-Android-4-4-2-and-Ubuntu-for-Phones-438840.shtml

译者:geekpi 校对:wxy

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

许多Arduino的项目都是基于两个简单的程序。

能电脑所不能的单片机,这就是Arduino。

我们每天使用的计算机是强大的,但它们根本不了解身边发生了什么事。比如说你的笔记本电脑也不能感到光或水。另外,Arduino对外专门设计成键控的。它有一个用于简化传感器通信的输入、输出板子。

Arduino是由Massimo Banzi和他的意大利搭档Ivrea开发的,并用Ivrea——他最喜欢的酒吧命名。Banzi希望他的设计课程的学生们有一个原型的硬件的廉价,容易的解决方案。自2005年Arduino的发布,它已经从一个教学工具发展成为世界各地制造商的DIY项目。现在有了多模型——更先进的Arduino Due,大功率,微纳米。

无论你购买哪个Arduino模型,当你用它来做“互联网”项目时,单片机的实用性便体现出来了——Arduino可以很容易让你连接到真实世界,云端,或两者。本书中,我们将重点介绍两个超基础项目以便展示Arduino可以多简单。

开始使用Arduino

在我们能够完全了解Arduino是什么之前,知道它不是什么是很重要的。Arduino不是电脑(跟卡片电脑Raspberry Pi不一样)。它不能被独立编程,需要被插入到计算机中去。它不是特别强大,Arduino Uno只有32 KB的内存 ,而苹果笔记本却平均有8G内存。

所以为了使用Arduino,你不能只买这个单片机。对于以下的项目,你需要的是:

硬件

  • Arduino Uno. “Uno”在意大利语中是一的意思,但这并不是有史以来第一个Arduino,只是最基本的Arduino单片机的最新版本。这些项目可以工作在任何一个型号上,但这里我用的是这个型号。
  • B型USB线。我已经很多年没见过这些旧式的USB端口了,但你可能会在旧的电子设备上用过他们。他们的成本约5-10美元 (译注:就是能连接题图的板子上的那个大大的USB口的线)。
  • LED灯。可以直接粘在Arduino上的一个引脚上的小灯;这些往往是相当便宜的

软件

  • Arduino IDE,即“集成开发环境”,是一个免费开源软件,用于开发“sketches”,也就是Arduino用户所说的程序。

当你第一次打开Arduino IDE,你需要建立软件所使用的端口,它用于控制Arduino如何工作,点击“工具”——>“串口”来建立。

  • OS X上,Uno串口的设备名叫做“/dev/tty.usbmodem”,但其他类型的Arduino板可能不同。我的是“/dev/tty.usbmodem1421”。
  • Windows,串口是COM3或更高端口,因为COM1和COM2通常保留给其他硬件。为确定端口号,你可以拔掉Arduino并重新打开IDE菜单。哪个口子不再出现哪个就是你的Arduino。

一般来说,你不用担心直接拔出你的Arduino电路板会有什么问题。我们知道功能齐全的电脑不应该这样做,包括Raspberry Pi,因为他们可以在后台运行一个重要的操作系统任务。但是Arduino只是一个单片机,除非你主动让它写内存,否则它肯定是不会的。

Arduino 硬件初步: 闪烁一个LED

在这第一个项目中,我们将概述Arduino产生物理输出的最基本方式,在这个实例中,闪烁一个LED灯。

我们要去写一个非常简单的程序使得LED频闪——或者是当我自豪地向他展现了我的作品时,我的朋友明智的告诉我,“一点小成果”。本程序是基于开源项目Blink sketch,它可以在Arduino的官网找到。

首先,设置硬件,将LED的两个脚分别插到到Arduino的公共地GND和引脚13上。

注意:如果你准备将一个LED插到一个打开电源的Arduino板子上较长时间(比如超过了这个项目的时间),安全的做法是也接一个220欧姆的电阻。这里有一个你也许需要的接线图,来自Arduino官网。

一个叉略短于另外一个叉——短的这个是负极头,因此,这个接“地”,即GND输入/输出。

注意短的接GND.

现在让我们开始写程序。首先,让我们给个程序的名字。Arduino会忽略行内双斜杠后边的内容,所以这是为自己写注释的好方法:

// 程序 1: 使一个LED闪烁开和关

当硬件工作时,我们需要告诉Arduino在它的14根不同的输入/输出引脚中哪儿会有信号。在这种情况下,我们固定13引脚的LED。这是我们的如何命名固定在引脚13的LED,其中“LED”只是我给的变量名:

int LED = 13;

每一个Arduino程序由两部分组成:void setup() 和 void loop()。这是能够运行的最小的Arduino程序。

void setup()中, 我们告诉Arduino初始化引脚为输出:

void setup() { 
  pinMode(LED, OUTPUT);
} 

void loop()中,我们告诉Arduino“写”一个值到引脚13中。因为我想让它闪烁,在每个循环中我们要使它写一个序列的四个不同命令。如“loop”一词的意思,直到把Arduino关掉前,我们希望它不断执行。

在下面的代码中,LED代表了我们之前分配的那个变量。”HIGH”告诉Arduino给LED提供五伏的电源,而“LOW”提供零伏。在闪烁时,使得它延迟“1000”毫秒每一整秒:

void loop() {
  digitalWrite(LED, HIGH);  
  delay(1000);              
  digitalWrite(LED, LOW);    
  delay(1000);  
} 

当把它们放在一起时,整个程序如下(再次声明,Arduino忽略行内双斜杠后边的内容,所以那只是你自己的注释):

// 程序 1: 使一个LED闪烁开和关
int led = 13; // name the LED in pin 13
void setup() {
  pinMode(LED, OUTPUT); // tell Arduino the pin in question is an output
}
void loop() {
  digitalWrite(LED, HIGH);     // deliver 5V to LED
  delay(1000);                     // wait a second
  digitalWrite(LED, LOW);      // deliver 0V to LED 
  delay(1000);                     // wait a second
}

点击checkmark来验证你的代码是没有错误的,然后按play键。如果你的Arduino已经连接,它应该开始运行你的闪烁程序了。

Arduino 软件程序: 打印到电脑上

现在让我们来做一个控制开关并试着演示Arduino是如何产生数字输出的最基本项目。

我们将要设置Arduino “打印”,或是在您的计算机屏幕上显示信息。这个程序基于Paul Bianchi的Arduino printing tutorial

在这个实例中没有硬件,这样我们就可以直接跳到程序部分。再说一次,程序分为两个部分: void setup()void loop()

void setup()中,我们要打开一个Arduino和计算机之间通信的线路,指定速率是9600b/s。如果你使用另一个速率,你可能会在计算机上得到乱码而不是文字。

void setup() { 
  Serial.begin(9600); 
}

void loop() 中,这部分很像我们的一个LED程序。我们要给它两条独立的指令,告诉它在他们之间每一整秒中断。Println是Arduino输出到你的电脑显示的命令。注意"Println"中的"l"的是小写的"L",而不是大写的"i"!

void loop() { 
  Serial.println(“hello”);
  delay(1000);
  Serial.println(“world.”);
  delay(1000);
}

将标题和注释等放到一起,如下:

// 程序 2: 使Arduino打印 “Hello World”到电脑上
void setup() {
  Serial.begin(9600); // open a 9600 baud communication line to computer
}
void loop() {
  Serial.println(“Hello”);        // write the word “Hello”
  delay(1000);                    // wait a second
  Serial.println(“World”);      // write the word “World”
  delay(1000);                   // wait a second
}

验证你的代码并运行。什么都不会显示,直到你点击Arduino IDE窗口右上角的“Serial Monitor”。你应该看到一个不停输出的“Hello World”,一遍又一遍,直到你拔掉Arduino。你会看到它并不完美:我总是得到一些乱码,但很快它自己就好了。

这两个Arduino项目都非常基本,但是通过执行他们你已经开始看到,可以与传感器通信并写结果到您的计算机的Arduino的潜力所在。如果你把这两个项目整合——例如,你可以连接一个温度计到你的Arduino,并告诉它将温度写到你的笔记本电脑,你会很快实现Arduino的可能性几乎是无止境的。


via: http://readwrite.com/2014/04/21/easy-arduino-projects-basics-tutorials-diy-hardware#feed=/hack

译者:tenght 校对:wxy

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

当你要监视一台Linux机器时,你会有很多的选择。虽然现在有很多产品质量监控方案(比如 Nagios、 Zabbix、 Zenoss),它们拥有华丽的UI,可扩展监控,易于理解的报告等等,这些方案对于大多数终端用户都太过于强大了。如果你只需检查Linux服务器或桌面的基本状态(比如,CPU负载、内存使用、活跃进程),就请考虑一下linux-dash

linux-dash是一款面向Linux机器的基于web的轻量级监控面板,可以实时显示不同的系统属性,比如CPU负载、内存使用、磁盘使用、网络速度、网络连接、上下行带宽、登录用户、运行中的进程等等。linux-dash没有后端数据库库来存储长期统计。在任何已有的web服务器(如Apache、Nginx)上运行linux-dash,你就可以用了。这是一个快速又简单的方法来对个人项目进行远程监控。

在这篇教程中,我会描述如何在Linux的Nginx web服务器上设置linux-dash。这里用Nginx,而不是Apache,是因为它更轻量。

在Debian、Ubuntu或者Linux Mint上设置linux-dash

首先,安装带php-fpm的Nginx web服务器。

$ sudo apt-get install git nginx php5-json php5-fpm php5-curl

为linux-dash创建如下Nginx配置文件/etc/nginx/conf.d/linuxdash.conf。 本例中,我们使用8080端口。

$ sudo vi /etc/nginx/conf.d/linuxdash.conf 

server {
    server_name     $domain_name;
    listen          8080;
    root            /var/www;
    index           index.html index.php;
    access_log      /var/log/nginx/access.log;
    error_log       /var/log/nginx/error.log;

    location ~* \.(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$ {
            try_files $uri =404;
            expires max;
            access_log off;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }

    location /linux-dash {
        index index.html index.php;
    }

    # PHP-FPM via sockets
    location ~ \.php(/|$) {
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            if (!-f $document_root$fastcgi_script_name) {
                    return 404;
            }
            try_files $uri $uri/ /index.php?$args;
            include fastcgi_params;
    }
}

禁止默认站点配置。

$ sudo rm /etc/nginx/sites-enabled/default

编辑/etc/php5/fpm/pool.d/www.conf来配置php-fpm。确保按如下编辑"user", "group" 和 "listen"指令。你可以不改变剩下的配置。

$ sudo vi /etc/php5/fpm/pool.d/www.conf 

user = www-data
group = www-data
listen = /var/run/php5-fpm.sock

开始下载并安装linux-dash。

$ git clone https://github.com/afaqurk/linux-dash.git
$ sudo cp -r linux-dash/ /var/www/
$ sudo chown -R www-data:www-data /var/www

重启Nginx与php-fpm来完成安装。

$ sudo service php5-fpm restart
$ sudo service nginx restart 

在CentOS、Fedora、RHEL上设置linux-dash

在CentOS上,需要首先启用EPEL仓库

安装Nginx与php-fpm组件。

$ sudo yum install git nginx php-common php-fpm 

为linux-dash程序配置Nginx,如下创建/etc/nginx/conf.d/linuxdash.conf

$ sudo vi /etc/nginx/conf.d/linuxdash.conf 

server {
    server_name     $domain_name;
    listen          8080;
    root            /var/www;
    index           index.html index.php;
    access_log      /var/log/nginx/access.log;
    error_log       /var/log/nginx/error.log;

    location ~* \.(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$ {
            try_files $uri =404;
            expires max;
            access_log off;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }

    location /linux-dash {
        index index.html index.php;
    }

    # PHP-FPM via sockets
    location ~ \.php(/|$) {
            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            fastcgi_pass unix:/var/run/php-fpm.sock;
            if (!-f $document_root$fastcgi_script_name) {
                    return 404;
            }
            try_files $uri $uri/ /index.php?$args;
            include fastcgi_params;
    }
}

接下来,编辑/etc/php-fpm.d/www.conf来配置php-fpm。在这个文件中,确保按如下编辑"user", "group" 和 "listen"字段。你可以不改变剩下的配置。

$ sudo vi /etc/php-fpm.d/www.conf 
listen = /var/run/php-fpm.sock
user = nginx
group = nginx

在/var/wwwx下载并安装linux-dash。

$ git clone https://github.com/afaqurk/linux-dash.git
$ sudo cp -r linux-dash/ /var/www/
$ sudo chown -R nginx:nginx /var/www 

最后,重启Nginx和php-fpm,并设置开机自启。

$ sudo service php-fpm restart
$ sudo service nginx restart
$ sudo chkconfig nginx on
$ sudo chkconfig php-fpm on 

在本例中,我们已经配置linux-dash使用TCP端口8080。所以确保防火墙没有阻止TCP 8080端口。

用linux-dash监视Linux机器

要在web浏览器上访问linux-dash,只需在web浏览器中输入http://:8080/linux-dash/

下面是linux-dash的截图。web面板包含了几个小部件,每个都会显示特性的系统参数。你可以通过重安排并且/或者关闭一些小部件来自定义web面板的外观。这里是一个linux-dash创建者的演示站点。

via: http://xmodulo.com/2014/04/monitor-linux-server-desktop-remotely-web-browser.html

译者:geekpi 校对:wxy

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

安装Ubuntu的第一步是制作一个随身碟。如果你正在使用Windows XP,7,8 或者 8.1,你可以用Universal USB Installer去创建一个Live USB。这是我最喜欢用的方法,而且它很容易使用。让我们看看如何很容易地在Windows 8 里制作一个Ubuntu的Live USB 。

在Windows里制作live USB的步骤:

第一步:下载Ubuntu ISO镜像

Ubuntu网站下载你首选Ubuntu版本的ISO镜像。

第二步:下载Universal USB Installer

如果你曾经下载了Ubuntu 14.04的ISO镜像,到这个页面下载最新版本的Universal USB Installer。

第三部:制作live USB

把U盘插在电脑上并运行Universal USB Installer。选择Linux类型为Ubuntu,浏览并选择下载的ISO镜像的路径,之后选择U盘。不要忘记在format(格式化)选项上打上勾。

会弹出一个警告,点击Yes.

等待一段时间,等待制作完成。你也可以把它放在后台运行。

也就是说,制作live USB需要几分钟时间。

一旦live USB制作完成,说明你可以安装Ubuntu 14.04了。希望这个教程能帮助你在Windows中轻松制作Ubuntu的live USB。


via: http://itsfoss.com/create-live-usb-of-ubuntu-in-windows/

译者:linuhap 校对:wxy

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

接下来的教程将指导所有 Linux 用户怎么简单的将漂亮的字体添加到自己的操作系统。我们已经为 Debian、Arch Linux、openSUSE、Slackware 和 Fedora 发行版编写了详细的介绍。

正如许多用户所知,几乎所有基于 Linux 的操作系统主要缺点就是默认选择的字体并不令终端用户满意,尤其是那些从 Windows 或者 Mac OS X 等操作系统迁移过来的用户。

除了使用自己的一套字体的Ubuntu,从一开始就看起来就相当漂亮,其它所有 Linux 发行版都有字体丑陋的缺点。正因如此,许多用户试图创建一种新的方法来增强文字在各个发行版中渲染效果。

这就是 Infinality 项目产生的原因,其主要目的是通过添加补丁来为使用任何基于 Linux 操作系统的用户提供最好的字体渲染效果。

Infinality for Arch Linux

  1. 将infinality-bundle,infinality-bundle-multilib (用于使用64位系统的用户)和infinality-bundle-fonts仓库添加到你的 /etc/pacman.conf文件中:
[infinality-bundle]
Server = http://bohoomil.com/repo/$arch

[infinality-bundle-multilib]
Server = http://bohoomil.com/repo/multilib/$arch

[infinality-bundle-fonts]
Server = http://bohoomil.com/repo/fonts
  1. 执行 sudo pacman -Syu 命令用来刷新仓库,然后运行
sudo pacman -S infinality-bundle infinality-bundle-multilib ibfonts-meta-extended (用于64位系统) 
sudo pacman -S infinality-bundle ibfonts-meta-extended (用于32位系统)
  1. 当被询问是否替换 fontconfig 软件包的 freetype2 时,回答YES。完成后重启你的计算机。

Infinality for Fedora

  1. 在终端窗口中执行如下命令
sudo rpm -Uvh http://www.infinality.net/fedora/linux/infinality-repo-1.0-1.noarch.rpm
sudo yum install freetype-infinality fontconfig-infinality
  1. 重启你的机器。

Infinality for openSUSE

  1. 添加 Infinality 官方仓库:
http://download.opensuse.org/repositories/home:/namtrac:/subpixel/openSUSE_13.1/

打开YaST中的库选项卡,选择namtrac:subpixel仓库,并打击“切换系统包的版本到这个仓库”。

  1. 标记 namtrac:subpixel 中所有还没有安装的包来进行安装,然后从 openSUSE 官方软件仓库中安装 fontconfig-infinality 包。
  2. 在字体设置选项里将 Subpixel Hinting 选择为“使用系统设置”,或者设置为带有微调的 RGB 顺序。重启你的系统。

Infinality for Slackware

详细的安装指南:http://someslack.wordpress.com/infinality-on-slackware/

Infinality for Debian

  1. 在终端中执行下面的命令(一个一个执行,每一行之后敲击回车):
echo “deb http://ppa.launchpad.net/no1wantdthisname/ppa/ubuntu raring main” | sudo tee /etc/apt/sources.list.d/infinality.list
echo “deb-src http://ppa.launchpad.net/no1wantdthisname/ppa/ubuntu raring main” | sudo tee -a /etc/apt/sources.list.d/infinality.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E985B27B
  1. 执行以下命令来升级你的系统并安装 Infinality 包:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fontconfig-infinality
  1. 重启你的计算机。

对于任何文中没有提到的其它 Linux 发行版,请使用官方的介绍:https://github.com/Infinality/fontconfig-infinality/tree/master/infinality。跟以往一样,当你使用本教程过程中遇到任何问题都可以在下面评论,不要犹豫。


via: http://news.softpedia.com/news/How-to-Add-Beautiful-Fonts-to-Any-Linux-Distribution-434835.shtml

译者:SCUSJS 校对:Caroline

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

这篇简短的教程将会演示如何在 Ubuntu 系统中安装 Oracle 公司最新发布的 Java JDK 8。这里使用的方法是教你如何从下载页面下载安装包,然后不使用外部的 PPA 或者第三方源代码在 Ubuntu 中安装。

这种方法不需要依赖于第三方的源仓库。你只需要从 Oracle 的官方下载页直接下载,然后安装就行。

JDK 8 是一个重要的发行版本,也加入了最新的叫做 Lambda 表达式的新语言功能,此功能可以“把函数用作方法参数,或者代码块当作日期数据使用”。

这一个版本也发布了一个新的 java.util.stream 包类集合,提供了基于流的 API,用来支持函数式操作的功能。

关于此次发布版本的更多信息,请访问它的发布主页 @ http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html

要下载和安装 Java JDK8,请访问下载页获得最新的发行版本。根据你机器的 Ubuntu 系统的情况可以选择下载 32 位或 64 位的发行版本。

这里是下载页面

在下载之前,您必须接受许可协议。

下载文件,保存。在 Ubuntu 系统中 Firefox 浏览器会默认保存到 ~/Downloads 目录下。

oracle-jdk8-ubuntu

第二步,打开终端运行如下命令来解压下载的文件。

tar -xvf ~/Downloads/jdk-8-linux-x64.tar.gz

然后运行如下的命令,在 /usr/lib 目录中创建一个为保存 Java JDK 8 文件的目录。

sudo mkdir -p /usr/lib/jvm/jdk1.8.0/

接下来运行如下命令把解压的 JDK 文件内容都移动到创建的目录中。

sudo mv jdk1.8.0/* /usr/lib/jvm/jdk1.8.0/

下一步,运行如下命令来配置 Java

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 1

接下来,拷贝和粘贴下面这一行到终端执行,以启用 Javac 模块。

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1

最后,拷贝和粘贴下面一行到终端以完成最终的安装。

sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 1

要验证下 Java 是否已经完全安装的话,可以运行下面的命令来测试。

java –version 

祝你玩的开心~


via: http://www.liberiangeek.net/2014/03/daily-ubuntu-tips-manually-install-oracle-java-jdk-8-in-ubuntu/

译者:runningwater 校对:Caroline

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