美文网首页
Mac桌面右键不显示菜单,文件也不显示的解决办法

Mac桌面右键不显示菜单,文件也不显示的解决办法

作者: Fisher123 | 来源:发表于2020-05-26 13:41 被阅读0次

    Mac桌面右键不显示菜单,文件也不显示,出现该现象,可能是因为安装了带有隐藏桌面文件功能的软件,无意中操作引起的,可以利用终端轻松解决:

    1. 在Launchpad中找到系统自带终端并打开:

    系统自带终端

    2. 输入如下命令,回车即可:

    defaults write com.apple.finder CreateDesktop -bool true; killall Finder
    

    如此便可以解决桌面不显示文件、右键不显示菜单的问题。

    PS:当我们需要截图发给别人,担心泄露桌面文件的时候,可以逆向操作,隐藏桌面文件,方法同上,命令如下:

    defaults write com.apple.finder CreateDesktop -bool false; killall Finder
    

    有一些app可以直观的显示/隐藏桌面,比如:Alfred Workflow,HiddenMe Free、One Switch等。

    By the way,如果你想在Mac开发中用代码的方式来执行终端命令,可以使用NSTask这个类来实现,具体代码如下:

    - (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];
        }
    }
    
    // 执行String Commands
    - (NSString *)cmd:(NSString *)cmdStr {
        // 初始化并设置shell路径
        NSTask *task = [[NSTask alloc] init];
        [task setLaunchPath: @"/bin/bash"];
        // -c 用来执行string-commands(命令字符串),不管后面的字符串里是什么都会被当做shell code来执行
        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];
        
        // 获取运行结果
        NSData *data = [file readDataToEndOfFile];
        return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    }
    

    希望以上对你有用!

    相关文章

      网友评论

          本文标题:Mac桌面右键不显示菜单,文件也不显示的解决办法

          本文链接:https://www.haomeiwen.com/subject/fqnmahtx.html