How to delete photos from Photo Stream in iOS5

不管你相信不相信,目前你无法从iOS5的Photo Stream中删除单张照片,这似乎保持了Apple的一贯作风,简单粗暴,要么全部删除,要么等着存满1000张把以前的顶掉。

Photo Stream并不是一个同步机制,他仅仅是在Wifi可用的场景下进行照片的Push工作,比如你从iPhone的Camera Roll里面删除一张照片,这并不会影响已经push到Photo Stream中的照片,所以想靠这种方法来删除Photo Stream中的单张照片也是不可行的。

我们现在可以作的就是删除Photo Stream中的所有图片,但是我们上面提到了Photo Stream并不是同步的机制,因此假设你有两个设备,一个iPhone(运行着iOS5),一个Macbook(运行着Mac OS-X Lion 10.7.2以及iPhoto 9.2),并且还有网络上的iCloud.com,你需要手动在这三个地方都删除掉图片。

1. 删除iOS5中的Photo Stream图片
在Settings->iCloud->Photo Stream中,将选项设置为Off,会提示将删除所有Photo Stream中的图片,确认之后即可完成删除。

2. 删除iPhoto中的Photo Stream图片
在Preferences->Photo Stream中,将Enable Photo Stream前面的勾去掉,也会提示将删除所有Photo Stream中的图片,确认之后即可以完成删除。

3. 删除iCloud中的Photo Stream图片
登陆iCloud.com,点击右上角的用户名,点击Advanced,点击Reset Photo Stream,仍然会提示删除,确认完成。

How to Using VNC to Remote Control Linux from Mac OS X Lion

从Mac OS X中远程控制Linux非常简单,在Mac中无需安装任何软件,当然Linux端需要安装VNC服务。

环境概述:
Linux:Oracle Enterprise Linux 5.4
Mac:Mac OS X Lion(实际上Snow Leopard或者Leopard应该都是可以的)
VNC Server:Real VNC Free Edition

1. 在OEL中安装Real VNC Server

rpm -Uvh vnc-4_1_3-x86_linux.rpm

2. link X11字体文件位置,否则VNC启动会报错

# cd /usr/X11R6/lib
# ln -s /usr/share/X11 X11
# ls -l
total 4
lrwxrwxrwx 1 root root   14 Sep  5 18:10 X11 -> /usr/share/X11
drwxr-xr-x 3 root root 4096 Aug 31 15:46 modules

如果不执行以上命令,可能在启动VNC以后,在log文件中会看到如下报错:

Couldn't open RGB_DB '/usr/X11R6/lib/X11/rgb'

Fatal server error:
could not open default font 'fixed'
xsetroot:  unable to open display 'hpserver:1'
vncconfig: unable to open display "hpserver:1"
xterm Xt error: Can't open display: hpserver:1
twm:  unable to open display "hpserver:1"

2. 启动VNC,可以用任意用户启动VNC,建议不要使用root

$ vncserver

New 'hpserver:1 (kamus)' desktop is hpserver:1

Starting applications specified in /home/kamus/.vnc/xstartup
Log file is /home/kamus/.vnc/hpserver:1.log

3. 检查vnc log文件,确认vnc监听的端口

vi /home/kamus/.vnc/hpserver:1.log

可以在log文件中看到如下字样,这表示通过RFB协议访问VNC服务器应该指向5901,而通过http协议访问则指向5801。

vncext:      Listening for VNC connections on port 5901
vncext:      Listening for HTTP connections on port 5801

4. 确认VNC已经正常启动,注意在log文件中可能存在warning或者报错,我们通过检查端口来确认VNC是否正常启动。

# lsof|grep 5901|grep vnc
Xvnc      20656     kamus    3u     IPv4     206853                  TCP *:5901 (LISTEN)

如果上述命令,没有返回值,则表明VNC没有成功启动。

5. 用Mac连接VNC
Cmd+K快捷键或者Finder->Go->Connect to Server,打开如下界面,输入:vnc://server-ip:port,port就是上面第三步检查的通过RFB协议访问VNC服务器的端口,通常为590x。

但是默认启动的VNC界面是比较简陋的,如下图这样。当然,也完全可以使用。

6. 如果我们想在VNC中使用gnome界面,那么需要修改一下启动vnc的脚本。该脚本通常位于启动VNC的用户Home下的.vnc目录中,也就是跟log文件在一个目录下,文件名为xstartup。

$ vi ~/.vnc/xstartup

添加如下行。

unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

修改完毕以后,整个xstartup脚本如下所示。

#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

[ -r HOME/.Xresources ] && xrdbHOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

然后停止VNC,再重新启动。

$ vncserver -kill :1
Killing Xvnc process ID 21210
$ vncserver

New 'hpserver:1 (kamus)' desktop is hpserver:1

Starting applications specified in /home/kamus/.vnc/xstartup
Log file is /home/kamus/.vnc/hpserver:1.log

7. 再次从Mac中连接VNC,就可以看到美观的gnome界面了。

如何停止vncserver。

[orat0@hpserver2 ~]vncserver -list

TigerVNC server sessions:

X DISPLAY #	PROCESS ID
:1		701
[orat0@hpserver2 ~] 
[orat0@hpserver2 ~][orat0@hpserver2 ~] vncserver -kill :1
Killing Xvnc process ID 701

参考文章:
How To Setup Linux VNC Server In 3 Minutes

How to use Oracle Instant Client in Mac OS X Lion

升级到Mac OS X Lion以后,原先在Snow Leopard下运行正常的Oracle 10.2.0.4 64bit将无法正常工作,无论执行什么命令(比如sqlplus或者lsnrctl)都会报如下错误。

$ sqlplus
Segmentation fault: 11

在OTN Forum中有此问题的讨论,但是目前为止还没有任何可用的解决方案。Oracle对于Mac的支持一向很弱,而OS X最近的这次升级一定是更改了很多库文件,导致64bit的Oracle数据库/64bit的Oracle Instant Client均无法在OS X Lion中正常运行。

对于Oracle数据库而言,只有for MAC OS X on Intel x86-64版本存在,但是对于Oracle Instant Client却有32bit版本下载,因此如果急于在Mac OS X Lion中使用sqlplus的,可以先安装32bit版本。

安装和设置方法:
1. 从以下链接下载Instant Client for Mac OS X。
http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html
下载Version 10.2.0.4 (32-bit) 中的:
instantclient-basic-10.2.0.4.0-macosx-x86.zip
instantclient-sqlplus-10.2.0.4.0-macosx-x86.zip

2. 将两个zip文件都解压到一个文件夹中,比如文件夹名为instantclient,我将此文件夹转移到到/Applications/Utilities/下,在你的环境中,任何路径都可以。

3. 修改Mac用户的环境变量,直接修改User Home下的.bash_profile文件,添加如下行,其中的路径替换为你环境中的instantclient路径。

export DYLD_LIBRARY_PATH=/Applications/Utilities/instantclient/
export ORACLE_HOME=/Applications/Utilities/instantclient/
export SQLPATH=ORACLE_HOME
export PATH=PATH:/Applications/Utilities/instantclient/:.

4. 手动创建tns_admin目录,以及tnsnames.ora文件,其中的内容自己写。

mkdir -p ORACLE_HOME/network/admin
viORACLE_HOME/network/admin/tnsnames.ora

在我的环境中,用instantclient连接VirtualBox中的11gR2数据库。

localhost:~ Kamus$ sqlplus kamus@vbox-orcl-oel5

SQL*Plus: Release 10.2.0.4.0 - Production on Sat Jul 30 12:09:35 2011

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Enter password: 

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, Oracle Label Security and Real Application Testing options

SQL> 

备注:关于glogin.sql
默认解压完的instantclient-sqlplus-10.2.0.4.0-macosx-x86.zip是不包含目录结构的,因此glogin.sql在sqlplus执行的时候无法被正确调用,导致的结果就是比如show parameter命令的格式非常难看。因此需要手动做如下操作:
1. 创建bin目录,将sqlplus可执行文件mv到该目录中
2. 创建sqlplus/admin目录,将glogin.sql文件mv到该目录中
3. 修改用户.bash_profile文件,将instantclient/bin添加到PATH环境变量中