Faster Dock in Mac OSX

This makes the animation faster

defaults write com.apple.dock autohide-time-modifier -float 0.15;killall Dock
//restore:
defaults delete com.apple.dock autohide-time-modifier;killall Dock

This makes the delay of show/hide Dock faster:

defaults write com.apple.Dock autohide-delay -float 0; killall Dock
// and also the restore:
defaults delete com.apple.dock autohide-delay;killall Dock

Reference:
http://apple.stackexchange.com/questions/33600/how-can-i-make-auto-hide-show-for-the-dock-faster

Remapkey by Microsoft

Official remapkey.exe by MS. To edit the hardware keys to any keys you want.
Especially useful of Mac users on windows.
I always remap the “command” key to “control” and “control” to “command”. Then all the frequently used shortcuts like:

Cmd Windows Key Mac key
copy control + c command + c
paste control + v command + v
cut control + x command + x
select-all control + a command + a
save control + s command + s
new-tab control + t command + t
new-file control + n command + n

will remain the same as Mac OS.

Usage

Take my usage as example, swap the Command and Control:
Remapkey Usage

Open Remapkey.exe with Admin permission, then drag the left control on the above to the left windows in the bottom; and drag the left windows on the above to the left control at the bottom.
Then click the save and quit button.
It require a restart of windows, then enjoy!

Here is the software download:

RemapKey.zip from unieagle.net

Manage User Group in Mac

List all users

dscl . list /users
dscl . readall /users

List all groups

dscl . list /groups
dscl . readall /groups

Check members under a group

members () { dscl . -list /Users | while read user; do printf "$user "; dsmemberutil checkmembership -U "$user" -G "$*"; done | grep "is a member" | cut -d " " -f 1; };
members $group_name_you_want_to_check

Check groups a user belongs to

groups $user_name

Add user to a group

sudo dseditgroup -o edit -a $user_name_to_add -t user $group_want_add

SSH Timeout and Non-password Login

There are some inconveniences login via ssh.

Timeout

The first thing is timeout, the sshd always drop connections after certain idle time interval by default, it’s really annoy if you are not care this secure consideration.
We can disable this timeout mechanism by adding the following configs into sshd configuration file.

# File: /etc/ssh/sshd_config
ClientAliveInterval 30 
TCPKeepAlive yes 
ClientAliveCountMax 99999

Non-password Login

We also can login via public keys instead of entering the password every time. Just run the following commands:

# Generate the ssh keys:
ssh-keygen -t rsa
# Copy the public key into hosts' authorized_keys
cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

We can then turn off the password login to secure our hosts:

# Edit: /etc/ssh/sshd_config
PermitRootLogin without-password

References

https://docs.oseems.com/general/application/ssh/disable-timeout
https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys–2

Burn bootable ISO file into U-Disk in Mac OSX Yosemite

1 Open DiskUtil and format your u-disk with FAT format

2 Open Terminal, run diskutil list, you’ll get following output:

$diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:       Microsoft Basic Data BOOTCAMP                100.0 GB   disk0s2
   3:       Microsoft Basic Data DATA                    250.3 GB   disk0s3
   4:                  Apple_HFS Mac                     149.0 GB   disk0s4
   5:                 Apple_Boot Recovery HD             650.0 MB   disk0s5
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *7.7 GB     disk1
   1:                 DOS_FAT_32 UNTITLED 1              7.7 GB     disk1s1

So remember the disk position of your u-disk, as in the example above, it’s /dev/disk1

3 Run following command in terminal:

sudo dd if=/Users/unieagle/Downloads/Windows10_TechnicalPreview_x64_ZH-CN_9926.iso of=/dev/disk1 bs=8192

You can drag your iso file into terminal after input sudo dd if=, it will fill the path of iso file for u automatically.

4 Wait about 40′, and u will get the info in terminal:

532494+1 records in
532494+1 records out
4362192896 bytes transferred in 3034.644407 secs (1437464 bytes/sec)

This indicate success. So enjoy your bootable u-disk from ISO file.

Note
If you got error message dd: /dev/disk1: Resource busy in the step 3, try to UNMount your udisk partition in DiskUtil and redo step 3.

Reference
http://www.macx.cn/thread-2078747-1-1.html

Config ssh access with apache

First, generate the ssh keys and the certificate.

We use a self-signed wildcard certificate here.
Run the following command:

cd /etc/apache2/
mkdir ssl
cd ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

The last command will prompt some filed for you to input.
The most important one is Common Name, we fix this with a wildcard url, for example: *.unieagle.net
Then the first part is done.

Second, configure the apache

In the /etc/apache2/sites-available, there are your sites configuration files.
Take www.somedomain.com as example, the file should be modified to something like this:


 ServerAdmin someemail@somedomain.com
 ServerName www.somedomain.com
 DocumentRoot /somewhere/the/site/at
 ErrorLog /somewhere/the/site/at/logs/error.log
 CustomLog /somewhere/the/site/at/logs/access.log combined
 SSLEngine On
 SSLCertificateFile /etc/apache2/ssl/apache.crt
 SSLCertificateKeyFile /etc/apache2/ssl/apache.key
 
  SSLRequireSSL On
  SSLVerifyClient optional
  SSLVerifyDepth 1
  SSLOptions +StdEnvVars +StrictRequire
 

Third, restart your apache

service apache2 restart

If you got something wrong, like SSLEngine not valid, you should enable the model first:

a2enmode ssl

Cron

Cron在Linux系统中用于计划任务。

举个例子

0 */2 * * * date >> /var/log/date.log

这将在每2小时往date.log里记录下date命令的结果。

格式说明

前面5位数,分别代表的是 分钟 小时 日 月 星期几, 然后后面就是条件满足时候运行的命令。
这前面5位数,可取值的范围是:
逗号 (‘,’) 分开的值,例如:“1,3,4,7,8”
连词符 (‘-‘) 制定值的范围,例如:“1-6”,意思等同于“1,2,3,4,5,6”
星号 (‘‘) 代表任何可能的值。例如,在“小时域” 里的星号等于是“每一个小时”
斜杠 (‘/’) 代表整除,例如”
/2″表示所有的偶数

参考

http://zh.wikipedia.org/wiki/Cron

How to customize screen resolution in windows7 with ATI graphics card

Recently, I brought a Dell U2713HM display, with resolution of 2560 * 1440. And my current computer have a HD6800 ATI card.

Then when I connect display with DVI cable, it turns out that the highest resolution I can set is 1920 * 1200 in the windows settings. That’s sucks.

So after tried a lot of solutions, there is one works!


first, unlock the pixel clock of grahpics card, using:
http://www.monitortests.com/forum/Thread-AMD-ATI-Pixel-Clock-Patcher
atikmdag-patcher-1.2

second, specify your custom resolution using CRU:
http://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU
cru-1.1

Great thanks to the authors of those softwares!!

如何安装三分区Mac和Windows双操作系统

分区情况
我装好系统后分区是这样的:
1.EFI,200M,保留分区,这个不用管。
2.Windows系统分区
3.FAT分区,用来做数据交换,Mac和Windows都能访问\
4.Mac系统分区
5.Mac Recovery,600M, 你会发现这个分区自动就出来了。

准备材料
1. Windows7安装盘(光盘,u盘,硬盘随意)
2. Mac OSX 10.8.4 安装盘(我是把镜像写入硬盘了)

第一步
开机按住Option键(windows键盘是alt,屏幕亮了再按),进入启动盘选择菜单。选择MacOSX安装盘启动。

第二步
启动后选择磁盘工具。
然后将硬盘分为3个分区,第一个是windos安装分区,第二个是交换分区,第三个是Mac安装分区。前两个格式化成Fat,第三个用Mac日志格式。

第三步
重启,还是选MacOsX安装盘,安装MacOSX在Mac分区上

第四步
Mac安装完成之后,如果你还没有Win7的安装盘,可以启动Bootcamp做一个。然后直接重启,也是开机按Option,然后选择Windows安装盘启动。将Windows安装在先前分配的Windows分区上。
这一步有个坑,就是如果你遇到了,“安装程序无法创建系统分区,也无法定位系统分区”错误,那是因为你同时插上了多个启动盘,把Mac安装盘,和其它除了Windows安装盘以外的USB驱动器都拔掉,然后点刷新。如果还不可以,就重启一下,这个问题就解决了。
如果你用搜索引擎搜到这篇文章,就算你运气了。我是搜索了好多的方法,但是没有一个奏效。直到我尝试安装Win8(只有英文版),得到了同样的”Setup was unable to create a new system partition or locate an existing system partition”错误,用google搜索才得到正确解决办法。

第五步
Windows安装完成之后,安装Bootcamp驱动程序

搞定

Mac下修改终端提示符

环境变量PS1中存放的就是终端提示符的格式,可以通过这个命令来查看:

echo $PS1

环境变量PS2是换行之后的提示符格式

可以使用的部分格式包括:

\d – 现在的系统日期

\t – 现在的系统时间

\h – 主机名

# – 命令号(Comannd Number)

\u – 用户名

\W – 当前所在的路径

\w – 当前所在的完整路径

我现在用的是这个:

\[\e[36;40m\]\w

被路由器断开VPN连接

换了一个路由器之后,VPN就工作不正常了,连接vpn之后1、2秒,就报错说:“被通讯设备断开连接”

这让我怎么翻墙啊。。

反复测试,定位问题就是路由器,但是这个路由器应该是好的啊,估计是设置里面的问题。然后就枚举所有设置,终于让我发现了问题出在MTU上。

路由器默认设置是1436,将它改成1492,就再也不会出现断开连接的问题了。

Solve Discuz Forum Error 114: Table ‘forum_thread’ is marked as crashed and autorepair failed

Just now, I reboot the server, and after that the Discuz forum encounter an error 114 :
Table ‘forum_thread’ is marked as crashed and last (automatic) repair failed

It’s easy to solve this situation, just:

1.open the phpmyadmin
2.select the database that contain the forum
3.select the table forum_thread
4.in the sql tab, run “REPAIR TABLE ‘forum_thread'”
5.done!



Reference
http://www.acogle.cn/show_news.asp?id=473

Macbook Pro Retina 黑屏

昨天开始,用着用着MBPR就黑了,然后各种折腾,按电源键,开合屏幕。之后有时候点按之后5-6s,会一闪大概2s又黑了(还是慢慢黑的),或者一亮之后就稳定不黑了。

今天写着代码,写着写着又黑了,而且怎么折腾都不亮,或者一亮又黑。随时受不了。打电话给苹果售后,然后售后说了一个方法,
1.到完全关机状态(如果不确定的话,就按着电源5s以上)
2.接上电源(后面操作估计不能断电)
3.按着左边的shift+control+option,和电源四个键5s以上,然后同时松开。这步之后电脑应该没有任何反应,还是处于关机状态。
4.在点一下电源键之后,迅速按住左边option+command和”r”,”p”,四个键不放,然后电脑会开始“咣咣咣”的响,4声之后同时松开。

也不知道管不管用,反正现在是好的。
其实是在售后问我序列号的时候,我把笔记本合上,反过来告诉他序列号,然后翻过来打开屏幕的时候,就好了。之后的操作也不知道是不是管用的。

================== 2013-1-30 更新 ===================
后来证明了3点:
1·问题依然存在
2·把笔记本翻过来一下再翻回去,问题都能解决。
3·客服人员说的方法没有用。

================== 2014-02-28 更新 ==================
终于找打了原因,其实就是MBPR以为合上了盖子,它的传感器不是传统的机械开关,而是磁性的。
前两天偶然的机会,我直接把本本放在自动麻将桌上,而且上面的铺了一层麻将(带磁性),然后放上去就黑了,拿起来就亮了。
所以总的说来,这不是问题,不过apple的客服应该知道这种可能性。

当遇到了“文件目录损坏且无法读取”的时候怎么办?

今天备份文件的时候,把移动硬盘从路由器拔下来,插到台式机上,直接弹出一个对话框:
“是否需要格式化硬盘”
下面两个选项,“格式化”和“取消”,默认的还是“格式化”。
还好今天早上不是很清醒,手速较慢,没有直接回车。
(这里要鄙视一下MS,你也不尝试一下修复磁盘,你就格式化,要是上面有重要数据你让用户怎么办啊)



然后在“计算机”里面,能看到移动硬盘加载在I盘符下,但是双击会提示“文件目录损坏且无法读取”。
这个时候不要捉急,能解决的。
按下win+r,输入“cmd”,回车;
在弹出的命令行窗口中,输入“chkdsk i: /F”,然后回车。(其中i是我这次的盘符,请根据你的移动硬盘盘符进行修改)
然后就等等吧,反正我的移动硬盘在chkdsk运行完了之后就能正常访问了,里面文件什么的都好好的。



在此也提醒一下,产生这个问题的主要原因是因为没有“安全弹出”,就直接拔掉硬盘;或者是突然断电之类的情况。

在windows7下用diskpart命令行工具将大容量分区格式化为exfat并且指定分配单元大小

警告!!!
最好别用exfat格式为硬盘分区,会丢分区的····(我已经丢了3次了,还好备份做得充分,现在用NTFS,mac/win互相只读)



============ 以下是正文 =============
本文介绍如何在win7下用diskpart命令行工具将大容量分区格式化为exfat文件系统并且指定分配单元大小(簇大小)。
提示:在进行格式化操作之前,请备份硬盘上的所有数据,安全第一~~
新的MacbookPro是固态硬盘,为了装Mac和Win7双系统,需要一个在双系统下通用的文件格式。

这个格式就是exFat,为闪存优化的文件系统格式,而且macOS和windows都是原生支持。

但是,做好双系统之后,将原来的数据拷入这个交换分区,却发现,原本200G的内容,占用了210+G的空间。
汗,原本就紧张的空间还浪费这么多···一定要解决之。
仔细一查,发现苹果系统下的“磁盘工具”在格式化的时候无法指定分区大小,于是,苹果自动使用了128kb的单元大小,又有叫簇大小的。
单元大小就是磁盘分配空间的最小单位。这里是128kb,就是说,你新建一个文本文档,里面随便敲一个字符,然后保存。你会发现,这个文件的大小是1字节(占用128kb)空间。
单元大小越大,读取大文件越快。因为读完一个文件需要读取的磁盘块的个数越少;
但同时,意味着浪费的空间越大。

固态硬盘的存取速度本来就比传统硬盘快,没有必要为了速度更快(在固态硬盘上也快不了多少了),而牺牲那么多无辜的空间。所以我决定把单元大小改到1kb。

这个时候问题来了,mac系统下的工具无法指定簇大小。windows下的资源管理器本来是可以指定大小的,但是超过一定大小的分区,就没有了exFat这个格式的选项。
(就像下面截图的“文件系统”一项,大容量的分区就只能选择ntfs了;小u盘可以选fat,ntfs,exfat)

然后就是漫长的搜索,diskgenius,partition magic,等等都试过。但是在这个问题上统统不给力。

后来辗转想起来windows命令行里面可以分区格式化,于是让我找到了diskpart这个命令行工具(win7自带),终于成功解决了这个问题。

使用步骤如下

  1. 在命令行下输入diskpart
  2. 查看磁盘信息

    这里可以看到我一共有4个磁盘,硬盘是第0个(这段文章是在pc上写的,截图和mbp上稍有不同,截图只做说明用)
  3. 选择硬盘

    diskpart的操作方式是先选择好要进行操作的目标(硬盘,分区),然后所有的命令都照着这个目标去,所以这里一定要谨慎,一旦选错,后果不堪设想啊
  4. 查看所选硬盘的分区信息并且选择要格式化的分区

    这两条命令第一条列出所选硬盘上的分区信息,第二条选择要格式化的分区,同上,一定要谨慎选择!!
  5. 格式化

    这就是格式化命令了,没有任何提示,没有让你选择yes或no,一旦回车直接执行。
    命令中指定了格式化为exfat格式,单元大小1024,quick一定要加上,不然慢死。
  6. 退出diskpart
    直接输入exit就行了

这个时候,如果在新的分区上建一个文本文档,然后敲一个字符保存,查看新文档的属性可以看到: