Ubuntu修改环境变量

Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。

文章转载自http://leonhongchina.blog.163.com/blog/static/180294117201132611320112/

        修改用户环境变量

用户环境变量通常被存储在下面的文件中:

  •                 ~/.profile
  •                 ~/.bash_profile 或者 ~./bash_login
  •                 ~/.bashrc

上述文件在Ubuntu 10.0以前版本不推荐使用。

        系统环境变量

系统环境变量一般保存在下面的文件中:

  •                 /etc/environment
  •                 /etc/profile
  •                 /etc/bash.bashrc

/etc/profile和 /etc/bash.bashrc在Ubuntu 10.0版本中不推荐使用。

        加入环境变量

如想将一个路径加入到$PATH中,可以像下面这样做(修改/etc/profile):

                    $ sudo nano /etc/profile

在里面加入:

                    export PATH="$PATH:/my_new_path"

你可以自己加上指定的多个路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:

                    $source /etc/profile

需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。

            其他文件的修改方式与此类似,需要注意的是/etc/environment不需要使用export设置环境变量,其他profile文件需要。

更详细的说明可以参考这里

Ubuntu 下面清理无效内核的 脚本

Ubuntu 下面的内核经常升级,一段时间以后就很多了,浪费空间,网上搜索了一个脚本,用了下,感觉还可以。

原文是指定的Shell #!/bin/sh, 这个在Ubuntu下面是不能编译通过的,要要手动指定为bash 才行,主要是默认的sh不同造成的,不是什么大问题.

文件暂时命名成 Linux_Clean.sh吧

首先赋予执行权限

chmod +x Linux_Clean.sh

尝试执行

./Linux_Clean.sh

如果没有错误则执行

./Linux_Clean.sh -e

建议执行脚本之前执行

dpkg --get-selections|grep linux

看看自己有多少Linux内核

执行完成后继续执行

dpkg --get-selections|grep linux

估计会很有成就感的

下面是脚本原文,复制黏贴即可

#!/bin/bash
# 清理ubuntu的老内核
# by bones7456
# http://li2z.cn
CURRENT="`uname -r | awk -F"-" '{print $1"-"$2}'`"
HEADERS=""
IMAGES=""
for HEADER in `dpkg --get-selections | grep ^linux-headers | \
	grep -vE "(generic|386|virtual)" | awk '{gsub(/linux-headers-/,"",$1);print $1}'`
do
	if [[ "$CURRENT" < "$HEADER" ]]
	then
		echo "正在运行的内核不是最新的。 $CURRENT < $HEADER"
		echo "Running kernel is not the newest. $CURRENT < $HEADER"
		exit 1
	else
		[[ "$CURRENT" != "$HEADER" ]] && {
		HEADERS="${HEADERS} linux-headers-${HEADER}"
		IMAGE="`dpkg --get-selections | grep ^linux-image | \
		grep "${HEADER}" | awk '{print $1}'`"
		IMAGES="${IMAGES} $IMAGE"
		}
	fi
done

if [[ x"$HEADERS" == x"" ]]
then
	echo "没有要清理的老内核."
	echo "No old kernel need to clean."
	exit 0
fi
CMD="sudo apt-get purge $HEADERS $IMAGES"
echo "$CMD"
if [ "$1" == "-e" ]
then
	sh -c "$CMD"
else
	echo "请确定以上命令是否正确,然后输入 $0 -e 来执行以上命令。"
	echo "Be sure this command is right, then type $0 -e to execute."
fi

Linux下编写sh脚本 提示 “not a valid identifier”

编写了一个编译Android 的sh ,执行的适合 提示 "not a valid identifier" ,看了很久也没琢磨明白怎么回事,Google了一阵子才注意到 如下内容

当 在shell编辑脚本时,运行时出现了" ‘: not a valid identifier ",或者会出现(: command not found,许多莫名其妙的符号)很可能你在windows下编辑,在Linux下运行,由于Linux和windows的文本格式不同所导致的。

上面可能是反应之一,有时终端显示" :没有文件…"也是这个原因造成的 大部分由分号开头":"
解决方法:只要用UltraEdit工具转换成Linux格式,重新source运行无错误即可
Linux和windows的文本的区别:

1.Linux的换行:    "n"
2.windows的换行: "rn"(回车,换行)

尽管我没有在Widows下面编译,但是却使用了wine下面的记事本编写,结果自然不用讲了。

简单解决方法 vim 新建一个文件,原文件内容粘贴过去就可以了。

Ubuntu 12.04 Android SDK Failed to create sdcard in the AVD folder.

比较早期的 SDK 的话,tools 目录是没有执行权限会导致问题,最新安装的不会出现问题的。那关键就是 64位系统不不能运行32位程序的缘故了。

[2012-09-15 20:59:28 - SDK Manager] Failed to create the SD card.

[2012-09-15 20:59:28 - SDK Manager] Failed to create sdcard in the AVD folder.

1.对于 64位的 Ubuntu 如果没有安装ia32-libs,在64位下是不能跑32位程序的。使用

sudo apt-get install ia32-libs

2.没有创建一个avd的话,eclipse是不会自动生成R.java的,新建了一个avd之后就会自动生成R.java

3.如果还是不行的话,设置android sdk下的tools权限为可执行权限。

chmod +x tools/*

Ubuntu 12.04 Dash 下面当弹出菜单出现时候,截屏不能用的解决方法

Ubuntu 12.04  Dash 下面当弹出菜单出现适合,截屏是不能使用的。

比如此种情况

当这个菜单弹出的时候,灾难就发生了。

据说是一个很古老的BUG 了,没办法只好想办法规避。

在Dash 下面输入 SC 应该能把 Screenshot调出来。这个Screenshot 竟然不能抓取自己的窗口,悲剧啊。

选择里面的"抓取前的延迟" 设置一个延迟时间,就可以了。到时候截屏出现整个屏幕再分割吧。

不过 Screenshot 自己的屏幕怎么抓取,实在是研究不出来。

Ubuntu 12.04 下共享网络给 MAC Mini

淘宝淘到的二手 Mac min中的某快无线网卡天线在拆解的时候被弄坏了,导致无线信号超级不好,只能通过另一台笔记本的有线来共享上网了。

满以为设置会很复杂,结果没想到超级的简单。

点击那个网络图标

弹出菜单

选中编辑连接

选中“编辑” 弹出

选中其中的 IPV4设置,在"方法(M)"中选中 “与其它计算机共享”

搞定。

在Ubuntu 12.04中VirtualBox下XP使用USB设备

最近在使用Ubuntu 12.04下碰到不少问题,现将部分整理如下,自己亲测通过。

Ubuntu版本:12.04

Oracle VirtualBox版本:4.1.6

问题:

USB 2.0 is currently enabled for this virtual machine. However, this requires the Oracle VM VirtualBox Extension Pack to be installed.Please install the Extension Pack from the VirtualBox download site. After this you will be able to re- enable USB 2.0. It will be disabled in the meantime unless you cancel the current settings changes.

这是在设置启用USB时提示的错误。关于如何启用UbuntuOracle VirtualBoxUSB功能 (Oracle VirtualBox设置USB启用USB控制器启用USB 2.0 ECHI控制器)--如果你没有安装Oracle VM VirtualBox Extension Pack的话,那么这时就会弹出一个提示框,提示上面给出的那段英文提示。

解决办法:

1.卸载掉用Ubuntu软件中心下载的那个VirtualBox,那个版本不支持USB,即使安装了增强包也不行,亲测过。

此处要理解一个定义OSD:开源定义(Open Source Definition

开源定义(OSD)被开源促进会(OSI)用来决定是否一个软件能够被认为是开源的。这个定义基于最初由Bruce Perens写的采用的Debian自由软件方针 (Debian Free Software Guidelines)。在这个开源定义之下,许可证为了本认为是开源许可证必须符合10种情况。

由于某种原因,USB设备中的部分东东是不开源的,因此,默认的Ubuntu版本是不支持USB设备的。
2.去 http://virtualbox.org 官网下载最新的安装包和增强包。刚刚下载的适合那个增强包的地址错掉了,导致下载不到,估计很快会被修复,正确的地址应该为 http://dlc.sun.com.edgesuite.net/virtualbox/4.2.2/Oracle_VM_VirtualBox_Extension_Pack-4.2.2-81494.vbox-extpack

这个版本中的那个81494跟主程序的版本号一致就可以了,估计是管理员失误了。
3.安装

双击deb包就可以安装然后就是在设置里找到USB的选项了。

把两个对勾都打上,添加一个新的筛选器,即右上角那个蓝色的USB图标添加。这时基本上就差不多了。但是一进入的时候usb还是不能用,提示没有权限,不是vboxusersr那个组的成员。此时就需要组的管理。终端下用:

$ sudo gpasswd vboxusers -a 用户名

#增加当前用户的方式如下
$ sudo gpasswd vboxusers -a `whoami`

最好安装一下管理工具,来方便操作

$ sudo apt-get install gnome-system-tools

安装系统管理工具,有点大,有十几M的样子

Dash页面中的输入框中输入 “Users” 如下图:

出现 “用户和组”在里面把“高级设置” ->“用户权限” 里面选中 “使用VirtualBox虚拟化解决方案”

2012-10-19 19:21:08的屏幕截图.png

下面是英文对应的位置
iKoRY.png
搞定!

要记得重启VirtualBox的!如果还不行,重启系统,应该可以了。

sudo gedit 提示错误 No protocol specified

编辑一个文件用到管理员权限,本能的sudo结果失败掉了

$sudo gedit /usr/share/applications/likewise-open-gui.desktop
No protocol specified
No protocol specified

无法打开显示:

运行“gedit --help”可查看可用命令行选项的完整列表。

** (gedit:8732): WARNING **: 命令 dbus-launch --autolaunch=5e4da8a7a98419e9067b832700000002 --binary-syntax --close-stderr 以非零状态数 1 退出:No protocol specified\nNo protocol specified\nAutolaunch error: X11 initialization failed.\n

网络上查到的原因为

当使用su到另外一个用户运行某个程序,而这个程序又要有图形显示的时候,就有可能出错,这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上,则应以当前登陆的用户, 也就是切换身份前的用户执行命令。

琢磨良久,还是没有办法,只能用VIM 来解决了

$sudo vim /usr/share/applications/likewise-open-gui.desktop

世界瞬间清净了。

Ubuntu 12.04 下创建 Eclipse 启动方式

下载解压缩完成Eclipse以后,发现只能在命令行下面启动Eclipse ,比较不爽,查了查,发现制作个启动方式还是比较简单的。

创建启动快捷方式

$ sudo gedit /usr/share/applications/eclipse.desktop

内容如下:

[Desktop Entry]
Type=Application
Name=Eclipse
Comment=Eclipse Integrated Development Environment
Icon=/usr/local/eclipse/icon.xpm
Exec=/usr/local/eclipse/eclipse
Terminal=false
Categories=Development;IDE;Java;

红色部分注意修改成自己的解压缩目录就可以了,比如我安装在了 /usr/local/eclipse 这个目录下面。