Ubuntu Server安装Gnome和VNC

  1. 安装tigervnc服务端

    1
    sudo apt install tightvncserver
  2. 安装gnome

    1
    sudo apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
  3. 启动vncserver

    1
    vncserver

    首次运行需要设置密码,设置完成后会有以下类似提示

    1
    2
    3
    New 'X' desktop is server_name:1

    Starting applications specified in /root/.vnc/xstartup
  4. 关闭vncserver

    1
    vncserver -kill :1
  5. 编辑xstartup文件

    1
    vi ~/.vnc/xstartup

    修改为以下内容,并保存

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/bin/sh

    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey
    x-window-manager &
    gnome-session &
    gnome-panel &
    gnome-settings-daemon &
    metacity &
    nautilus &
  6. 再次启动vncserver,此时即可使用Viewer进行连接,默认端口是5901。
    端口视display的ID改变,如display ID为2,即默认为5902。端口也可在运行后提示的日志文件位置找到。

Github Pages新的自定义域名HTTPS功能无法打开的解决方案

博客此前一直在用Cloudflare提供的HTTPS功能,但是挂了Cloudflare后Ping一直都在150ms+,而且还经常受干扰不稳定,而Github Pages用了CDN,延迟只有70ms多,困扰了许久。

Github在前些时间添加了自定义域名的HTTPS功能,奈何无论是关掉了Cloudflare的CDN、Custom domain直接输入https://tlingc.com,Enforce HTTPS单选框一直是灰色的,提示Unavailable for your site because your domain is not properly configured to support HTTPS

由于裸域名设置CNAME会和MX记录冲突,我是A记录指向Github Pages Server:

1
A tlingc.com points to 185.199.108.153

今天试了试给域名添加CAA记录:

1
CAA tlingc.com 0 issue "letsencrypt.org"

然后在Github Pages设置页重新添加自定义域名,就可以打开Enfore HTTPS了。

给小程序list列表加个搜索功能

本文介绍方法搜索效率太低,之前没有想到有更好的方法。现在我用的是直接搜索,然后把匹配结果放进新数组

今天给小程序添加个搜索功能,需要实现前端一个list列表的搜索。

搜索有search()和indexOf()两个方法,搜了一下两者的区别,发现indexOf在搜索字符串的情况下效率更高,于是选择了indexOf

另外存储变量也有两种方案:

  1. 直接给details[id]加多一个HIDDEN变量,details[ID].HIDDEN
  2. 新增一个hidden变量,hidden[id]

试了一下,直接在wx:if中使用item.HIDDEN比hidden[index]速度更加快。

查看更多

Bootstrap升级到v4的一些变动记录

这几天把GSNET网站的Bootstrap框架升到了v4,这里记录一下升级的一些变动:

  1. navbar需要重写
  2. panel被card取代,以下css有变更:

    panel->card
    panel-heading->card-header
    panel-body->card-body

  3. panel默认没有margin了,需要自己用class mt- / mb-解决
  4. pagination组件变更,也要重写
  5. tab组件变更,要重写。另外还需要引个popper.js:

    https://unpkg.com/popper.js/dist/umd/popper.min.js

  6. 不同于以前的panel,给card设置danger success等样式,整个card都会变色,如果要用以前panel仅header变色,需要给card-header设置bg-*
  7. alert要在最后一个子标签加个mb-0,否则上下margin不同
  8. form-group的label现在在form-control的上面了,需要重写class
  9. label变成了badge