起因
为了写这篇文章,我花掉了136元。
最近考虑给iOS应用添加广告。首选当然是Google的Admob,可是申请的时候我才发现。我的常用Gmail曾经申请过Admob,但是由于后来没使用,账号被停用了。需要激活。重新激活的最后一步,总是提示错误。
好在我还有另外一个Google账户,结果这个账户在注册的最后一步,也总是遇到错误。
实在没办法了。去淘宝吧。淘宝找到一个商家说是可以帮忙验证地址,价格100块。他倒是把我的账户给注册成功了。但是网页我还是打不开,一直转圈。我问他,他说需要代理开全局,我说我已经开全局了啊。问他还有别的办法没有?他让我下载一个微软的远程桌面。我以为他要协助我处理。结果安装完了之后,他说可以去云厂商那里申请一个远程主机,然后用远程桌面登陆。还说他用的是腾讯云的。碰巧,这时,我的网页突然能上去了。我确认了一下,就给他付了款。
到了昨天下午,我又想上的时候,发现还是转圈,网页上不了。于是我开始研究这个远程桌面。
在Ubuntu 20.04下安装xfce4和vnc
安装
apt install xfce4 xfce4-goodies
apt install tightvncserver
配置密码
vncserver
按照提示输入密码,vnc不需要用户名,只有一个密码需要设置。
设置默认启动xfce4
先杀掉之前的vnc实例。
vncserver -kill :1
备份并新建文件
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
nano ~/.vnc/xstartup
内容如下:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
给新文件加上运行属性
chmod +x ~/.vnc/xstartup
创建启动和停止脚本
start.sh
#!/bin/sh
vncserver -geometry 1920x1080 -depth 24
stop.sh
#!/bin/sh
vncserver -kill :1
给两个脚本分别加上运行属性
chmod +x start.sh
chmod +x stop.sh
每次运行vncserver都会新建一个实例,顺序按照1、2、3、4类推。所以需要kill掉旧实例。
开启防火墙的5901端口
ufw allow 5901
运行
我使用的是VNC Viewer,只需要输入ip地址后面跟上:5901,然后在弹出的界面输入密码就可以了。
由于我的VNC只是偶尔需要用一下,我没有设置成系统自启,而是需要时通过start启动,用完了用stop杀掉,这样比较安全。
最后说说admob的问题
admob应该是为了防止有人骗点击,所以对于用户的ip审核比较严格。当我们翻墙时,即使使用了全局代理,但是原本的上网的ip还是能够检测到的。因此,admob认为这样的环境不合格。但是这其实是扩大化了。
另外,如果你使用的Firefox或者Safari等非Chrome的浏览器,admob甚至直接会显示网页错误。只有Chrome才不会显示错误,一直转圈圈。
当使用VNC之后,我用Firefox就能正常上admob了。因为VNC相当于是直接从云主机登陆。虽然IP地址和翻墙的一样,我使用同一台云主机。但是此时admob就能过了。
我使用的是腾讯云的36元一个月的主机。结果安装成功之后,我又在我原本翻墙的主机上试了一下,通过vnc一样能上admob。可见,能不能上的关键,不是主机所在的位置,而是你上网时浏览器的环境。如果是翻墙上,就会被拒。如果vnc直连,就没问题。