Mac桌面右鍵不顯示菜單,文件也不顯示,出現(xiàn)該現(xiàn)象,可能是因為安裝了帶有隱藏桌面文件功能的軟件,無意中操作引起的,可以利用終端輕松解決:
1. 在Launchpad中找到系統(tǒng)自帶終端并打開:

系統(tǒng)自帶終端
2. 輸入如下命令,回車即可:
defaults write com.apple.finder CreateDesktop -bool true; killall Finder
如此便可以解決桌面不顯示文件、右鍵不顯示菜單的問題。
PS:當(dāng)我們需要截圖發(fā)給別人,擔(dān)心泄露桌面文件的時候,可以逆向操作,隱藏桌面文件,方法同上,命令如下:
defaults write com.apple.finder CreateDesktop -bool false; killall Finder
有一些app可以直觀的顯示/隱藏桌面,比如:Alfred Workflow,HiddenMe Free、One Switch等。
By the way,如果你想在Mac開發(fā)中用代碼的方式來執(zhí)行終端命令,可以使用NSTask這個類來實現(xiàn),具體代碼如下:
- (IBAction)buttonAction:(NSButton *)sender {
NSString *showString = @"defaults write com.apple.finder CreateDesktop -bool true; killall Finder";
NSString *hideString = @"defaults write com.apple.finder CreateDesktop -bool false; killall Finder";
if (sender == self.showFolderButton) {
[self cmd:showString];
} else if (sender == self.hideFolderButton) {
[self cmd:hideString];
}
}
// 執(zhí)行String Commands
- (NSString *)cmd:(NSString *)cmdStr {
// 初始化并設(shè)置shell路徑
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath: @"/bin/bash"];
// -c 用來執(zhí)行string-commands(命令字符串),不管后面的字符串里是什么都會被當(dāng)做shell code來執(zhí)行
NSArray *arguments = [NSArray arrayWithObjects: @"-c", cmdStr, nil];
[task setArguments:arguments];
// 新建輸出管道作為Task的輸出
NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput:pipe];
// 開始task
NSFileHandle *file = [pipe fileHandleForReading];
[task launch];
// 獲取運行結(jié)果
NSData *data = [file readDataToEndOfFile];
return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}
希望以上對你有用!