手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2021年04月的文章

历经千辛万苦,终于打开了远程桌面

 参考我上一篇文章。其实之前在网上找了很多教程和文章,但都没有打开成功。几乎所有的文章都试了。今天在测试本地的时候发现也不正常了。然后又找到网上的代码进行尝试。然而也都失败了。

搜索那个错误提示,反而是找到了官网的介绍:

1、https://support.apple.com/zh-cn/HT201710
2、https://support.apple.com/zh-cn/HT209161

然后才整理出了上一篇文章。打开两台电脑,一点点的在运行和查看【系统偏好设置】里的状态,确实【screen sharing】这个勾没有打上,打上的,反而是【remote managent】这个。然后就能远程了。这时候我再ssh 连上家里的mac mini,先执行关闭,再执行打开。。直接打开 vnc,用基于tailscale的局域网IP连接上了,然后退出,用vnc连接基于frp的端口,同样打开了。(要知道。。。。为了折腾这个,我已经整了半年多,其实之前都放弃了。)

真正是山重水复疑无路,柳暗花明又一村啊。

mac 开启远程桌面

 开启:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart  -activate -configure -access -on -clientopts -setmenuextra -menuextra yes -privs -all -setvnclegacy -vnclegacy yes
 
关闭:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off
 
但会提示:
Warning: macos 10.14 and later only allows control if Screen Sharing is enabled through System Preferences.
 
能不能成,还是要看运气!!!

老技巧:页面不允许被选择、被复制

 也不知道怎么分类,就放在js分类下了。

有时候,为了防止一小部分人喜欢手工CP,于是可以通过一些简单的办法让他们无法选择网页上的内容,也就变相的无法复制了。
偷懒的方法就是直接改CSS:
CSS代码
  1. * {  
  2.    /* moz-user-select: -moz-none; */  
  3.    -moz-user-select: none;  
  4.    -o-user-select: none;  
  5.    -khtml-user-select: none;  
  6.    -webkit-user-select: none;  
  7.    -ms-user-select: none;  
  8.    user-select: none;  
  9. }  
稍复杂一点。在body里加入:<body οncοntextmenu="return false;" onselectstart="return false">
嗯。用JS的话:
JavaScript代码
  1. document.οncοntextmenu=function(){return false;};   
  2. document.onselectstart=function(){return false;};  
简单粗暴,却能解决大部分的问题。但作为一个技术勃客,我还是不屑这么做,但确确实实有部分网站需要这样处理。但仍然是属于防君子不防小人


 

nodejs 使用 n 来切换版本

 在运行项目的时候,报错,说是不支持当前15.x的版本,请使用10,12,14的版本。于是yarn global add n,安装了这个简单的切换版本库。然后运行sudo n 14,自动安装了14.x的版本。

然而死活版本切换不过去。发现原来的node是在homebrew下安装的,于是选择卸载node,homebrew uninstall node,再运行sudo n 14,版本切换成功

n 和 nvm都是node下面多版本的管理工具。但n工具 确实比较简单:n +版本号,会自动下载指定版本。如果直接运行n,可以选择和切换当前的版本。当然这个是全局的,不能在指定的目录下指定node版本。如果临时用的时候,可以用n use 版本号来处理。

 

ssh跳板机配置

 很多时候我们都不能直接访问内网机器,一般情况下,我们都是先登录跳板机,然后从跳板机上再进行操作。但这样,很容易在跳板机的history里留下记录。而且,如果有时候临时传文件,就相当于要处理两次:上传到跳板机=》传到目标机。

其实如果利用sshconfig进行一下配置,就可以直接操作这种行为:

https://github.com/meolu/walle-web/issues/265
  1. Host bg-a  
  2.     HostName 1.2.3.4  
  3.     Port 22  
  4.     User ubuntu  
  5.     IdentityFile ~/.ssh/prod-ubuntu  
  6.   
  7. Host web-a  
  8.     HostName 192.168.200.2  
  9.     Port 22  
  10.     User ubuntu  
  11.     IdentityFile ~/.ssh/prod-ubuntu  
  12.     ProxyCommand ssh -q -W %h:%p bg-a  

然后你就可以使用 ssh web-a 直接连接到内网的服务器(透过 bg-a),或者 scp /xxx/xxx/x.tar.gz web-a:/tmp/ 这样的操作也支持。【上述内容,其实我本地的sshconfig也有类似操作,只是说我要COPY出来还要修改内容,所以就直接复制线上的】

至于ssh config文件怎么配置,网上有很多教程文章,比如:https://www.toutiao.com/i6700025110645965324/,

其他参考文章:

1、https://github.com/zxdvd/blog/blob/master/content/shell/%E7%94%9F%E4%BA%A7%E5%8A%9B%3A%20ssh%E8%B7%B3%E6%9D%BF%E6%9C%BA%E9%85%8D%E7%BD%AE.md

2、https://github.com/meolu/walle-web/issues/265

3、https://zhuanlan.zhihu.com/p/74193910 (https://mp.weixin.qq.com/s/jUYMulyl0xoPp-Vi3QJ3-Q)

4、https://blog.csdn.net/CityzenOldwang/article/details/77097703 ,这一篇里对.sshconfig的一些配置说明:

XML/HTML代码
  1. # man 5 ssh_config  
  2. # vim .ssh/config  
  3. Host *  
  4.   ForwardAgent yes    # 默认转发密钥  
  5.   PasswordAuthentication yes   # 允许密码登陆  
  6.   StrictHostKeyChecking no   # 不自动接收公钥,如果设置为 yes,ssh 就不会自动把计算机的密钥加入到 .ssh/known_hosts 文件,并且一旦计算机的密钥发生了变化,就拒绝连接。  
  7.   HashKnownHosts yes  # 将访问过的 hosts 以 hash 的形式存放,降低被入侵后信息暴露的风险  
  8.   Compression yes   # 压缩传输,取值on/off/force。在 scp 等传输文件的情况下提高传输速度  
  9.   ServerAliveInterval 60   
  10.   ServerAliveCountMAx 5