分类 【操作系统】 下的文章

解决outlook 2016 for mac 无法全文检索邮件

1.关闭所有office应用(含outlook)
2.进入终端命令行:

#关闭索引
sudo mdutil -i off
#删除索引
sudo mdutil -E 
#重建索引
sudo mdutil -i on / 

3.为outlook邮件创建索引,完全复制运行此命令

mdimport -g /Applications/Microsoft\ Outlook.app/Contents/Library/Spotlight/Microsoft\ Outlook\ Spotlight\ Importer.mdimporter -d1 ~/Library/Group\ Containers/UBF8T346G9.Office/Outlook/Outlook\ 15\ Profiles/Main\ Profile

通过以上命令操作完成,打开outlook2016就可以搜索了

Mac/Linux下SSH管理

Mac上没有诸如xshell之类的客户端,对于非免密登录的主机来说,多个相同主机的连接就要输入多次密码,无法实现会话克隆,非常难受。
终端的ssh是标准的OpenSSH client
如果需要克隆会话功能,可以通过配置打开:
vi ~/.ssh/config
增加:

Host *
    ControlMaster auto
    ControlPath ~/.ssh/socket/%h-%p-%r
    ControlPersist yes

这样每连上一个服务器都会自动在~/.ssh/socket/下创建一个socket文件,下次用相同用户名、端口、主机名进行连接就会自动复用,为防止意外,请事先使用对应用户创建好该目录

ControlMaster 默认是关闭的,通过上述配置可以打开,我们可以通过ControlMaster字段,让新建的SSH Session复用已有的socket通信文件。当我们将该字段值设置为auto时,每次建立SSH连接时程序都会检查是否存在已有到socket文件,有即复用,没有的话就创建一个符合ControlPath规则的socket文件。
ControlPath 用来描述socket文件路径,其中:

%r 是用户名,
%h 是远程主机IP
%p 是端口

ControlPersist yes 打开之后即使关闭了所有的已连接ssh连接,一段时间内也能无需密码重新连接。也可以写作:
ControlPersist 4h 每次通过SSH与服务器建立连接之后,这条连接将被保持4个小时,即使在你退出服务器之后这条连接依然可以重用,因此,在你下一次(4小时之内)登录服务器时,你会发现连接以闪电般的速度建立完成,这个选项对于通过scp拷贝多个文件提速尤其明显,因为你不在需要为每个文件做单独的认证了

注:SSH版本必须是5.6或以上版本才可使用ControlPersist特性
配置文件最终如下:

Host *
    Compression yes
    ServerAliveInterval 30
    ServerAliveCountMax 360
    ControlMaster auto
    ControlPath ~/.ssh/socket/%h-%p-%r
    ControlPersist yes
    ForwardAgent yes

解决MacOS中外接鼠标滚动方向的问题

需求:
1、触摸板和鼠标(非Magic Mouse)同时使用。
2、触摸板用iPhone的方式,手指向上滑动,页面向下走。
3、鼠标滚轮和Windows下一样,滚轮和页面同时下滑。

在偏好设置中设置触摸板的滚动方向后,会同时作用于鼠标和触摸板,这样上述的2、3两点始终有一个无法达成

推荐下载:
http://pilotmoon.com/scrollreverser/

安装后
1、首先把》偏好设置》鼠标和触摸板里面最顶上的勾打上,这个大家都会。(保证你在不用鼠标的时候,trackpad的手势是自然方向)
2、任务栏里面出现一个上下的箭头,就可以调整让鼠标滚轮翻转,而其他的不变。(其实大家不习惯的就是在滚动鼠标中键的时候不是我们操作WIN时候的方式。)把这个调整过来之后,其他一切照旧。
3、然后设置成开机启动,每次启动的时候就会自动翻转鼠标滚轮了。

修改crontab的默认编辑器

crontab默认编辑器为nano,不方便使用。

修改crontab默认编辑器为vi或者其他的编辑器。

export EDITOR="/usr/bin/vim" ; crontab -e

更简单的办法,直接执行命令:select-editor

然后选择编辑器

解决ubuntu 16.04 64bit上fatal error: sys/cdefs.h: No such file or directory

错误信息:

make
Skip building js due to lack of nodejs
Skip building el due to lack of emacs
Skip building cl due to lack of sbcl
Skip building cpp due to lack of g++-6
Skip building i due to lack of ick
cp test/24_cmp2.c out/24_cmp2.c.tmp && mv out/24_cmp2.c.tmp out/24_cmp2.c
git submodule update --init
Submodule '8cc' (https://github.com/shinh/8cc) registered for path '8cc'
Submodule 'Whitespace' (https://github.com/koturn/Whitespace) registered for path 'Whitespace'
Submodule 'tinycc' (http://repo.or.cz/tinycc.git) registered for path 'tinycc'
Cloning into '8cc'...
remote: Counting objects: 4541, done.
remote: Compressing objects: 100% (187/187), done.
remote: Total 4541 (delta 112), reused 0 (delta 0), pack-reused 4354
Receiving objects: 100% (4541/4541), 1.42 MiB | 1.19 MiB/s, done.
Resolving deltas: 100% (3026/3026), done.
Checking connectivity... done.
Submodule path '8cc': checked out '842752b089019bf883e21604a98e712b55fd7727'
Cloning into 'Whitespace'...
remote: Counting objects: 54, done.
remote: Total 54 (delta 0), reused 0 (delta 0), pack-reused 54
Unpacking objects: 100% (54/54), done.
Checking connectivity... done.
Submodule path 'Whitespace': checked out '16be2c0617a6f7846c53802e1a4cb382ccf7dc8a'
Cloning into 'tinycc'...
remote: Counting objects: 8915, done.
remote: Compressing objects: 100% (2610/2610), done.
remote: Total 8915 (delta 6260), reused 8864 (delta 6217)
Receiving objects: 100% (8915/8915), 2.89 MiB | 531.00 KiB/s, done.
Resolving deltas: 100% (6260/6260), done.
Checking connectivity... done.
Submodule path 'tinycc': checked out 'c948732efaf823f36d05608fe716bfcc4a98b70c'
touch out/git_submodule.stamp
make -C 8cc && cp 8cc/8cc out/8cc
make[1]: Entering directory '/home/ondrej/repos/elvm/8cc'
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o main.o main.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o cpp.o cpp.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o debug.o debug.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o dict.o dict.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o gen.o gen.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o lex.o lex.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o vector.o vector.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o parse.o parse.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o buffer.o buffer.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o map.o map.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o error.o error.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o path.o path.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o file.o file.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o set.o set.c
cc -Wall -Wno-strict-aliasing -std=gnu11 -g -I. -O0 -DBUILD_DIR='"/home/ondrej/repos/elvm/8cc"'   -c -o encoding.o encoding.c
cc -o 8cc main.o cpp.o debug.o dict.o gen.o lex.o vector.o parse.o buffer.o map.o error.o path.o file.o set.o encoding.o 
make[1]: Leaving directory '/home/ondrej/repos/elvm/8cc'
cc -c -I. -std=gnu99 -m32 -W -Wall -W -Werror -MMD -MP -O -g -Wno-missing-field-initializers -Wno-missing-field-initializers ir/ir.c -o out/ir.o
In file included from /usr/include/stdio.h:27:0,
                 from ./ir/ir.h:4,
                 from ir/ir.c:1:
/usr/include/features.h:367:25: fatal error: sys/cdefs.h: No such file or directory
compilation terminated.
Makefile:62: recipe for target 'out/ir.o' failed
make: *** [out/ir.o] Error 1

解决方案:

sudo apt install libc6-dev-i386