找回 Ubuntu Natty 里 Compiz 0.9.2.1 版本丢失的附加特效包

Compiz 更新到 0.9 虽然已经过去挺长时间了, 但是 Ubuntu 源似乎一直没有打算把 plugins-extra 也跟上更新到0.9.2.1版本. 搜索了一阵, 在 LinuxQuestion 找到了一个可行的编译方法以配合系统源里的compiz.
步骤:
1, 到 http://releases.compiz-fusion.org/0.9.2.1/ 下载合适版本的plugins-extra.
传送门: http://releases.compiz-fusion.org/0.9.2.1/compiz-plugins-extra-0.9.2.1.tar.gz

2, 解压之:

tar xzvf compiz-plugins-extra-0.9.2.1.tar.gz
cd plugins-extra

3, 执行下面的命令:

mkdir build && cd build
cmake ..

4, 编辑 CMakeCache.txt

gedit CMakeCache.txt

5, 查找下面的内容:

CMAKE_INSTALL_PREFIX:PATH=/usr/local

替换为

CMAKE_INSTALL_PREFIX:PATH=/usr
Continue reading 找回 Ubuntu Natty 里 Compiz 0.9.2.1 版本丢失的附加特效包

让Ubuntu不在设备变化时将网卡重新编号

如果你和我一样, 常常把硬盘在不同的电脑上插来插去, 或许会烦恼于网卡命名 eth0/eth1, wlan0/wlan1 之类的问题. 如果不喜欢更改电脑后 Ubuntu 自动累加这个计数, 可以用下面的方法设置一下:

sudo mv /lib/udev/rules.d/75-persistent-net-generator.rules /lib/udev/rules.d/75-persistent-net-generator.rules.disabled
sudo mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.disabled

这样重启后, 第一张有线网卡总是 eth0, 第一张无线网卡一定是 wlan0 了, conky等东西也不用重新配置啦 🙂

[多图]Windows 平台 OpenVPN (IPv4/IPv6) 简明使用教程

1, 如果是IPv4用户, 可以到官网(http://openvpn.net/)下载安装最新版OpenVPN, 并跳过下面的 5 – 6 步

如果是IPv6用户, 可以到官网下载2.1.1版本(http://openvpn.net/release/openvpn-2.1.1-install.exe)的OpenVPN(IPv6补丁最高支持到2.1.1版本的OpenVPN)
然后到github(https://github.com/downloads/jjo/openvpn-ipv6/openvpn.exe-2.1.1-ipv6-0.4.11.zip)下载IPv6补丁.

2, 如果无法访问上述地址(如教育网用户), 可以访问http://m.uudisc.com/user/felixonmars/files/3671029下载OpenVPN 2.1.1及其IPv6补丁包.

3, Win7 用户下载后不要直接打开, 需要使用管理员权限运行.

4, 按照提示安装 OpenVPN 客户端软件

Continue reading [多图]Windows 平台 OpenVPN (IPv4/IPv6) 简明使用教程

C语言课程设计的一点资料(TC)

恩, 因为Teacher要求对图形/文件/工程熟练掌握, 我把这些东西总结一下吧

1, 图形

使用图形库,首先引入

#include<graphics.h>

头文件graphics.h, 以及在编译环境里勾上图形库(作用是tcc编译时加入lib/graphics.lib)
基本操作请参考: http://www.bccn.net/Article/kfyy/vc/jszl/200708/5808.html

2, 文件

这个,书上够详细了,就略吧..
推荐一个方便调试的方法: 用scanf/printf调试输入输出成功后,直接在程序开始处加上

freopen("debug\\in.txt","r",stdin);
freopen("debug\\out.txt","w",stdout);

即可使输入输出全部文件化(不用做其他改动,比较方便).

3, 工程

  • 每一个C源文件都要建立一个与之名字一样的H文件,里面仅仅包括该C文件的函数的声明和注释(接口说明等),其他的什么也不会有,比如变量的定义等等不应该有;
  • 建立一个所有的文件都要共同使用的头文件,里面就是放那些需要的系统头文件,比如
    #include<stdio.h>#include<stdlib.h>

    等等,把这个文件命名为common.h;

  • 每个C源文件应该包含自己的头文件以及那个共同使用的头文件
  • 主文件main.c里面包含所有的头文件(包括那个共同使用的文件),main.c里面的函数可以再做一个头文件,也可以直接放在文件的开头部分声明就可以了

参考资料: http://blog.ednchina.com/fpga2006/33233/message.aspx

RunTC – 在任意平台的任意IDE中调用TurboC编译运行C程序

本项目已建立在 Google Code: http://code.google.com/p/runtc/
某些学校(比如某猫所在的HUST)的C课程设计作业仍然需要用TC及其graphics.h完成, 由于”不能忍受”那个糟糕的IDE, 本猫写了这么个小脚本, 可以在任意平台使用.

ChangeLog

r4 – Alpha 2 整合 run.bat 到主脚本, 不需要手动安装 – 2010/9/14
r3 – 修复长文件名支持, 修复带空格的路径支持, 修复非.c扩展名支持 – 2010/9/14
r2 – Alpha 1 基本实现功能 – 2010/9/13

安装使用说明(以 Geany 为例):

Windows:

下载安装 Geany: http://www.geany.org/Download/Releases
进入页面后下载 Windows Binaries 的 Full Installer including GTK, 安装过程不再赘述.
下载安装 Dosbox: http://www.dosbox.com/download.php?main=1
进入页面后下载 Windows 版本, 安装过程不再赘述.
下载 Turbo C++ 3.0: http://www.xdowns.com/soft/38/121/2006/Soft_21504.html
下载后解压到任意目录(目录名建议不要有空格和中文)

下载 run.bat 放到 TC 的 BIN 目录.
下载地址: http://runtc.googlecode.com/files/run.bat
例如: TC解压到了 C:\TC3
则把 run.bat 放到 C:\TC3\BIN\

下载 tcrun.exe 放到自己记得的地方.
下载地址: http://runtc.googlecode.com/files/tcrun.exe

然后在 tcrun.exe 所在路径新建一个文本文件, 输入以下的内容:

TC=<tc的安装路径>
DOSBOX=<dosbox的安装路径></dosbox的安装路径></tc的安装路径>

示例:

TC=C:\TC3
DOSBOX=C:\Program Files\DOSBox-0.74

保存时类型选择”所有文件 (*.*)”, 然后输入文件名: tcrun.conf
注意: Program Files 之类的中间有空格的路径, 请参照示例在两头加上引号.

然后打开Geany, 打开任意一个C程序, 然后单击”生成”菜单中的”设置生成命令”
把 2. 生成 后面的 命令

gcc -Wall -o "%e" "%f"

修改为

C:\tcrun.exe "%f"

如果把tcrun.exe放在了不同的目录, 请参照修改.

现在, 按下 F9, 就可以自动调用dosbox+tc跑起你的C程序了!

Continue reading RunTC – 在任意平台的任意IDE中调用TurboC编译运行C程序

Pingcheck – 用Ping检查网络通断并即时通知

使用方法:

python pingcheck.py <目标>

比如

python pingcheck.py 8.8.8.8

简单的小脚本…跨平台…分别用了pynotify和pywin32库来执行通知, 因此需要安装相应的库才可以使用.
用ping检查网络通断,并且在通断情况改变时提示用户…

截图:

下载地址:
脚本(任意平台): http://movieinfofetch.googlecode.com/files/pingcheck.py
Windows下的已编译版本(需要VC2005运行库): http://movieinfofetch.googlecode.com/files/pingcheck.exe

Continue reading Pingcheck – 用Ping检查网络通断并即时通知

继续我的Ubuntu之旅 (3)

恩,在开头先提醒各位小白鼠: ppa:network-manager/ppa 和 ppa:xorg-edgers/ppa 是两门毒药, 慎装!!
(因为它们的杯具, Felix 重装系统了 =.=||)
这段时间小纠结了一下路由表/服务器方面的问题, 下面是一部分最近的笔记
照例先给个目录:
1, Ubuntu 10.04 Server 短按电源键热关机:
2, Xorg版本过新导致nvidia驱动不加载的workaround
3, HUST/Tsinghua/SJTU的 6in4 tunnel 开启方法
4, 三种HUST能使用的Linux下的锐捷认证工具(mystar/xrgsu/mentohust)
5, 更通用的路由表脚本

1, Ubuntu 10.04 Server 短按电源键热关机:
Ubuntu 10.04 Server 默认没有安装acpid, 先装上:

sudo apt-get install acpid

然后编辑 /etc/acpi/events/powerbtn:

sudo vi /etc/acpi/events/powerbtn

找到下面这行:

action=/etc/acpi/powerbtn.sh

修改为:

action=/sbin/poweroff

然后重启,就大功告成啦:)
参考: http://linux.chinaunix.net/bbs/thread-1113446-1-1.html

Continue reading 继续我的Ubuntu之旅 (3)

Ubuntu 多网环境自动路由表(区别教育网内外) + 分享到多张网卡网络的实现

首先, 感谢 @BOYPT @jimmy_xu_wrk @tjmao @yegle 等朋友的帮忙!

1, 多网环境, Felix 的环境是 VPN over cernet2 + cernet 双网.

2, 自动路由表, 采用 www.nic.edu.cn 的官方 Free IP 数据.
以下是 Felix 用 Python 写的一个小小的自动生成脚本:

import re
import urllib
a=urllib.urlopen('http://www.nic.edu.cn/RS/ipstat/internalip/real.html').read()
b=re.compile("([\d\.]+)\s+[\d\.]+\s+([\d\.]+)")
c=b.findall(a)
m=["#!/bin/bash","OLDGW=$1","NEWGW=$2","route del -net 0.0.0.0 netmask 0.0.0.0","route add -net 0.0.0.0 netmask 0.0.0.0 gw $NEWGW"]
n=["#!/bin/bash"]
for d in c:
    m.append("route add -net "+d[0]+" netmask "+d[1]+" gw $OLDGW")
    n.append("route del -net "+d[0]+" netmask "+d[1])
e=open('gtwcernet',"w")
e.write("\n".join(m))
e.close()
f=open('gtwcernetd',"w")
f.write("\n".join(n))
f.close()

会在当前目录生成 gtwcernet 和 gtwcernetd 两个文件
然后给他们加上执行权限

chmod +x gtwcernet
chmod +x gtwcernetd

前一个是启用自动路由表
Usage: gtwcernet <教育网网关> <VPN/电信网网关>
后一个是禁用自动路由表
Usage: gtwcernetd

Continue reading Ubuntu 多网环境自动路由表(区别教育网内外) + 分享到多张网卡网络的实现

Linux 下 Dropbox 的通用更新脚本修改版 – 支持代理

源脚本来自 http://forums.dropbox.com/topic.php?id=12153, 但是不能支持代理服务器, 主要问题是它的”联网检测”用的是ping, Felix将其改成了wget然后判断页面上是否有forums

Patch 如下:

--- a/dbupdate
+++ b/dbupdate
@@ -37,7 +37,7 @@
 declare -r useCount="http://bit.ly/dbupdate_count";
 declare -r nIcon="/usr/share/icons/hicolor/64x64/apps/dropbox.png";
 declare -r userAgent="Mozilla/5.0 (X11; U; Linux i686; $LANG; rv:1.9.1.3) Gecko/20090924 Ubuntu/9.10 (karmic) Firefox/3.5.3";
-declare -r internetTest="ping -c3 -w10 www.dropbox.com | grep -c '64 bytes'" ;
+declare -r internetTest="wget -qO - http://www.dropbox.com | grep -c 'forums'" ;
 bit="auto";
 testing=0;
 q="-q";
@@ -292,7 +292,7 @@
 
 #test connectivity
 printf "Checking for connectivity to Dropbox servers...";
-if [ `eval $internetTest` -lt 3 ]; then { 
+if [ `eval $internetTest` -lt 1 ]; then { 
  echo " FAIL.";
  echo "Failed to connect to \"www.dropbox.com\"";
  exit 1;
Continue reading Linux 下 Dropbox 的通用更新脚本修改版 – 支持代理

[译] 给XMind脑图文件添加Gnome缩略图显示 [Ubuntu]

由于 XMind (脑图软件) 使用一种类似 OpenOffice.org 的文件格式, 我调整了那些脚本, 让它们也能为我的 XMind 脑图文件创建缩略图. 由于 XMind 文件尚无 mime 类型定义, 我们还需要花一些额外的功夫来解决这一问题.

1, 为 XMind 文件设置一个 mime 类型定义.
默认情况下, XMind 文件被识别为可执行/压缩文件(application/zip), 因此我们需要为 XMind 文件指定 mime 类型:

sudo gedit /usr/share/mime/packages/x-xmind.xml

我仅仅把一些东西简单的放在了一起, 让系统把 “.xmind” 为扩展名的文件认为 mime 类型 应用程序/x-xmind(application/x-xmind)



   
     XMind mindmap
     
   

保存这个文件之后, 更新 mime 类型的数据库:

sudo update-mime-database /usr/share/mime

Continue reading [译] 给XMind脑图文件添加Gnome缩略图显示 [Ubuntu]

QR Code Business Card