2012年10月14日星期日

如何制作一张不规则图片

这里以GIMP Image Editor为例,将一张图片中的不规则形状截取出来,最后创建一张不规则的图片。Photoshop也可以按照类似的方法操作。

1.打开原图片,在View里Zoom放大,使你能看清所有细节。

2.用索套工具Free Select Tool将你所要截取的部分圈起来。如果图片的颜色比较单一,可以Select by Color.

3.菜单栏里或者右键选择编辑复制,Edit->Copy.

4.File->New来建立一个新的图像,在Advanced Options 里面有个Fill With, 选择Transparency, 点击OK.

5.在新建的空白背景(即灰黑相间的格子)中菜单栏里或者右键选择Edit->Paste.

6.选择已经粘帖上的图案,在菜单栏里或者右键选择Image->Fit Canvas to Selection,然后在同样的地方选择Crop to Selection.

7.File->Save保存图片,一定要保存成png格式,因为jpg不支持透明背景。然后按照默认选项Export然后Save.

一个不规则图片就做好了,因为这是个透明背景的图片,将其放入任何其他背景中都只会显示你所截取的图案部分。

Linux下复制命令的错误:cp: omitting directory ` '

想把一个文件夹复制到另一个路径下,敲入命令:
cp /var/www/xxx /home/username
却出现如下错误提示:
cp: omitting directory `xxx' 

这其实是一个很菜鸟的错误,因为我们在这里要操作的是文件夹,其中包含多个文件,所以需要的命令应该是:
cp -r /var/www/xxx /home/username
其中-r的意思recursively copy all the files
或者用另一命令:
cp -a /var/www/xxx /home/username
-a就是all啦

需要注意的是,以上两个命令有少少的区别:
cp -r可能会改变文件夹或文件的某些属性和权限;而用cp -a复制过去,原本和复制本是一模一样的。

2012年9月15日星期六

Linux下增加虚拟内存


虚拟内存其实是将硬盘规划出一个区间,使得内存的数据可以由硬盘来读取。当物理内存不够的时候,某些在内存当中所占的程序会暂时被移动到虚拟内存里去。所以,我们可以通过增加虚拟内存来缓解压力。

增加虚拟内存有两种方法:一是增加一个硬盘的分区;二是增加一个虚拟内存的档案。下面说说第二种办法:

1.在/tmp下增加一个 64MB 的档案
dd if=/dev/zero of=/tmp/swap bs=4k count=16382
其中dd是转移并复制档案,/zero是空档案,if是input file,of是output file,bs是一个扇区的容量,count是扇区的数目。在以上命令中,共增加16382*4k=64M的档案。

2.将 /tmp/swap 这个档案格式化为 swap 的档案格式
mkswap /tmp/swap

3.在启用这个swap的档案之前,我们先看一下当前机子的内存
free
我们可以看到swap这一条里有:
Swap:       261112          0     261112

4.使用root权限su来启用刚建立的swap档案
swapon /tmp/swap
再用free命令看一下现在的内存,会发现已经增加了64M:
Swap:       326632          0     326632

5.最后不用时,可以把刚增加的虚拟内存关掉
swapoff /tmp/swap

参考文章:《鸟哥的Linux私房菜》P.287-P.289

2012年9月6日星期四

解决安装phpMyAdmin时出现的错误404 phpmyadmin not found error

装完LAMP时再装phpMyAdmin来管理这套系统,过程如下:

1. 敲入sudo apt-get install phpmyadmin,开始安装。

2.出现选择服务器,选Apache2;又出现选择Yes或No,选Yes。

3.设置root密码。

很简单就装完了。装完之后本来应该可以用了,但是在浏览器中打开
http://localhost/phpmyadmin/
的时候,却显示了如下错误
404 phpmyadmin not found error

这个错误的原因是在路径/etc/apache2/conf.d中并没有指向phpmyadmin的路径,这个时候,我们需要手动建立一个连接
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
然后重新启动Apache
sudo /etc/init.d/apache2 restart
再重新在浏览器打开
http://localhost/phpmyadmin/
就出现了登录界面啦。


2012年9月5日星期三

在Ubuntu上安装Apache服务器加PHP和MySQL

方法一:
最最简单的办法是在终端里敲入:
sudo apt-get install lamp-server^
一步到位!

LAMP就是Linux+Apache+MySQL+PHP的缩写。换而言之,就是一个操作系统,HTTP协议的服务器,数据库软件和编程语言(早期的P指Perl呢)的集合体,它们在一起,就可以架构一个有广泛用途的服务器的架构。

另外,上述命令结尾处的^代表执行。安装这个包时,会让你设置MySQL的root密码。

装完之后,需要让三者统一运作:
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
然后重启Apache:
sudo /etc/init.d/apache2 restart
就OK了。


方法二:
虽然上述方法很简单,不过如果是新手的话,还是推荐一步一步来。这样做并不费事多少,也能对这几个东东有些许了解。分别安装的话,就有如下步骤:

1. 安装Apache2.0
sudo apt-get install apache2
装完之后在浏览器中打开
http://localhost/
或者先Ping一下得知本地的IP地址,在浏览器中打开
http://xxx.xx.xx.xxx(就是你的IP)
浏览器中会出现:It works!

2. 安装PHP
sudo apt-get install php5
然后配置好Apache和PHP
sudo apt-get install libapache2-mod-php5
再重启Apache
sudo /etc/init.d/apache2 restart
最后测试一下:
sudo gedit /var/www/testphp.php
可以在gedit(请自行置换为你常用的编辑器)里编辑
<?php
echo "Hello world!";
?>
保存。
然后在浏览器中打开
http://localhost/testphp.php
将会显示
Hello world!

3.安装MySQL
sudo apt-get install mysql-server
同样也要设置它的root密码。
装完之后,可以先小试一下,敲入命令
sudo start mysql
开启之后再进入它的monitor模式
mysql -u root -p
其中-u是user的意思,-p是password的意思,这时候就让你输入刚设置的root的密码,输完之后出现Welcome的信息,就进入了mysql>。现在我们可以试一些简单的SQL命令了,比如
show databases;
会出现现有的数据库信息,默认的有两个,information_schema和mysql。

4.最后一步跟方法一的最后一样:
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
然后重启Apache:
sudo /etc/init.d/apache2 restart
嘿嘿。

参考文章:
http://flzen.wordpress.com/2011/05/07/lamp-on-ubuntu/
http://www.linuxidc.com/linux/2010-07/27230.htm
http://myy.helia.fi/~karte/install_apache_on_ubuntu.html
http://wiki.ubuntu.org.cn/MySQL

2012年8月29日星期三

如何在Ubuntu上装Oracle Java(JRE)

之前一直用的是OpenJDK,这个在Ubuntu上用起来自然是方便得没话说。不过最近需要用到Oracle的Java,于是在它家官网下了一个Linux版的。下的是个tar包,解压后却发现已经有bin的文件夹,不用make install了,不过却装不到浏览器的Plugin上去(菜鸟汗一个。。。)官方的指南是让直接运行.bin,介个。。。

于是还得自己弄:

1.在刚才提到过的地址中下一个选择适合你的版本下一个tar包(RPM对Ubuntu不适合额),解压(tar命令)后放在你自己的文件夹下。

2.在终端中敲入sudo mkdir -p -v /opt/java/32,用来在opt中创建一个新的文件夹。

3.敲入 sudo mv -v /home/XXX/jre1.7.0_05  /opt/java/32
将你解压到自己的文件夹下的jre转移到刚创建的文件夹中。XXX就是你文件夹的路径。同时请自动转换为自己的版本号。 

4.敲入
 sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/32/jre1.7.0_05/bin/java" 1 这是告诉系统有新版本的java。

5..敲入 sudo update-alternatives --set java /opt/java/32/jre1.7.0_05/bin/java
告诉系统此版本为默认使用的。

6.好了,现在可以往浏览器中装Plugin了。以Firefox为例,只需要敲入
rm -v ~/.mozilla/plugins/libnpjp2.so
以及
ln -s /opt/java/32/jre1.7.0_05/lib/amd32/libnpjp2.so ~/.mozilla/plugins/
就可以了,第一条是移走原来的,第二条是插入新的。其实你也可以什么也不做,等到下次用到的时候会你的浏览器会自动询问你是否需要插入~

2012年7月25日星期三

LaTex中使用BibTex插入Reference

改论文时老板对文献格式大有意见,小菜鸟我只好折腾了一下,用比较正规的插入格式如下:

1.在文章末尾\end{document}之前加入以下三行:
\renewcommand\refname{Reference}
\bibliographystyle{plain}
\bibliography{Thesis}
其中第一行是参考文献的标题,标题是Reference;第二行是格式,还有其他格式见此处,这里用plain;第三行是一个bib格式文件的名字,最好和tex文件名称一致,编译起来方便一些。
(有一点小小要注意的地方:最常见的引用格式是plain,它是按作者字母排序的,如果要按引用顺序来排序,推荐用格式unsrt)

2.建立一个.bib文件,如Thesis.bib。如果只引用文章和书,可以用以下模板:
@book{Landau,
title = "Fluid Mechanics",
author = "L. D. Landau and E. M. Lifschitz",
publisher = "Pergamon Press, Oxford",
year = "1987"
}

@Article{Cattaneo,
author = {F. Cattaneo, T. Emonet, and N. Weiss},
journal = "Astrophys. J.",
year = {2003},
volume = {588},
pages = {1183},
}
还有其他各种格式模板见此处

3.在.tex文件中正文里引用某些文章或书的地方加入一句\cite{},例如上面的book已经被命名为Landau,于是在引Landau这本书时就插一句\cite{Landau}.

4.运行.tex文件,生成一个.pdf文件的同时会生成.aux文件,这个.aux文件就是引用文献的关键。运行.tex文件可以在Tex编译器中,也可以用命令行pdflatex Thesis

5.运行.bib文件,这里会用到步骤4中生成的.aux文件,所以一定要先4再5哦。运行.tex文件可以在Bib编译器中,也可以用命令行bibtex Thesis

6.再运行两遍.tex文件。运行两遍的原因是第一遍是插入,第二遍是排序。