反思

  • 之前崩的原因是搜狗输入法安装的时候没有提前安装fcix框架,导致乱码然后系统就傻掉了;
  • 重装很多次的原因是因为没有在重装之前完全的格式化分区,我建议每一次玩具坏了都要用windows格式化一次呜呜呜

复活操作

基本配置

  • 管理员权限,换源,安装vim
      sudo passwd(修改sudo密码)
      sudo apt-get update
      sudo apt-get install vim
      
  • 更换国内源,这里我选择的是清华源用下面的命令打开文件,并且注释里面的所有内容,
     sudo vim /etc/apt/sources.list
    
    • 然后粘贴下面的内容到打开的文件里面
      # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
      

      如果你学过vim,就知道:w :q的含义,如果没有可以在终端使用vimtutor学习一下;
  • 安装搜狗输入法(之前几次都因为它炸了我不信了……),我参考了这一篇博客
  • 然后搭建基本的C语言环境,主要参考啦蒋老师的PA讲义
    su
    apt-get install build-essential
    apt-get install man                # on-line reference manual
    apt-get install gcc-doc            # manual for GCC
    apt-get install gdb                # GNU debugger
    apt-get install git                # reversion control system
    apt-get install libreadline-dev    # a library to use compile the project later
    apt-get install libsdl2-dev        # a library to use compile the project later
    apt-get install qemu-system-x86    # QEMU
    
  • 安装chrome:请使用bing搜索;用gmail同步很香;

科学的看世界

  • 我选择的是shadowsocks-libev(因为我qt5以及普通的pip安装的shadowsocks就没有成功过)
     mkdir shadowsocks
     cd shadowsocks
     touch shadowsocks.json
     vim shadowsocks.json
     
  • 将下面的内容根据自己的配置放进去:
    
    {
      "server":"my_server_ip",
      "server_port":53450,
      "local_address": "127.0.0.1",
      "local_port":1080,
      "password":"密码",
      "timeout":300,
      "method":"aes-256-gcm",
      "fast_open": false
    }
    
  • 然后: ss-local -c ~/shadowsocks/shadowsocks/json &
    自己测试一下有没有问题;
  • 感谢阿姨的提醒,我决定用别名+脚本来启动shadowsocks(因为每次开机输入上面的东西实在没有效率):
    • 先写一个自启动脚本:
       touch ~/.ssstart.sh
      vim ~/.ssstart.sh
      
      内容是:
      #!/bin/bash
      ss-local -c ~/shadowsocks/shadowsocks.json 
      
    • 然后在终端里面起别名:
      vim ~/.bashrc
      在末尾添加:
      alias ss='. ~/.ssstart.sh'
      :wq 保存,退出
      在终端里面: 
      source ~/.bashrc
      (如果是zsh:source ~/.zshrc)
      

      尝试一下在终端输入ss,它lei了;
  • 因为后面的netdata需要终端翻墙,我也就尝试了一下,如果没有需求可以跳过这一步:

    • 主要参考的是谷歌出来的网站
    • 首先用pip -V康康有没有pip,没有的话使用sudo apt-get install python-pip安装
    • 下面尝试全局代理(我也不确定能不能成功):

      • sudo pip install genpac
      • 选择安装配置文件的目录,我选择的是:
        /home/larryytr/shadowsocks
      • 然后执行以下命令:
        sudo genpac --proxy="SOCKS5 127.0.0.1:1080" --gfwlist-proxy="SOCKS5 127.0.0.1:1080" -o autoproxy.pac --gfwlist-url="https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"
      • 下面是一句搬运,我没有遇到过:
        注意:如果报错“fetch gfwlist fail.online: https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt local:None”,可以使用后面的语句:sudo genpac --proxy="SOCKS5 127.0.0.1:1080" -o autoproxy.pac --gfwlist-url="https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"
        
        </code>
      • 执行完之后,目录下面会有一个autoproxy.pac文件。
      • 然后在右上角,打开系统设置——网络——网络代理:“方法”选择“自动”,“配置URL”填写:

        file:///home/larryytr/shadowsocks/autoproxy.pac (请根据自己的实际情况修改)
    • 然后使得终端也能使用代理。我们需要privoxy代理工具:

      • 安装很自然:sudo apt-get install privoxy

      • 然后编辑配置文件

        sudo vim /etc/privoxy/config 
        </code>

      • 在文档中搜索(vim 使用/搜索)“listen-address”(即监听地址),找到如下一行:listen-address localhost:8118 确保它没有被注释(如果这一行有#号,就手动删除)。再查找“forward-socks5t”,找到如下一行:forward-socks5t / 127.0.0.1:1080 . 同样确保它没有被注释。如果没有这一行,就手动添加(注意!句尾那个点 . 是要写的!)。然后保存退出,再执行以下命令启动privoxy:

        1
        sudo privoxy --user privoxy /etc/privoxy/config
      • 最后,再配置/etc/profile:

        # 先进入编辑模式
        

        sudo vim /etc/profile

         # 在末尾添加以下三行:
        

        export http_proxy=http://127.0.0.1:8118
        export https_proxy=http://127.0.0.1:8118
        export ftp_proxy=http://127.0.0.1:8118

        # 退出之后记得执行
        source /etc/profile
        

        </code></pre>

      • 验证是否成功:curl www.google.com或wget www.google.com判断是否可以访问

      • HINT(请务必注意):使用proxy的时候没有办法提交os作业,要make submit之前,先进入配置文件(/etc/privoxy/config)把刚刚做的事情给注释掉,然后用上面的命令重启privoxy,最后就可以提交了!!!

优化美化

  • 官网安装网易云
  • 官网安装vscode
  • 配置zsh,tmux,vim:
zsh安装与美化
  • 学习了:https://www.sysgeek.cn/install-zsh-shell-ubuntu-18-04/
    https://segmentfault.com/a/1190000013612471这两篇教程;
  • 感谢何伟的配置文件;
  • 相应的setting请参考我的github相关内容.
  • 安装zsh:
    sudo apt-get update
    sudo apt-get install zsh
    chsh -s /bin/zsh (设置zsh为默认)
    
  • 重启你的ubuntu
  • 安装oh-my-zsh插件:
     wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
    
  • 不改theme一无所有
  • 准备使用powerline主题
  • 首先安装powerline字体:
    
    git clone https://github.com/powerline/fonts.git --depth=1
    # install
    cd fonts
    ./install.sh
    # clean-up a bit
    cd ..
    rm -rf fonts
    
  • 安装完字体之后要记得使用:终端-编辑-首选项-文本-文本外观-自定义字体打勾-选一个带有powerline的。(星际玩家找了好久)
  • 安装powerline: sudo apt install powerline
  • 我的配置见相关内容的setting .zshrc
  • 颜色选择困难请:
    for code ({000..255}) print -P -- "$code: %F{$code}This is how your text would look like%f"
  • 改完请source ~/.zshrc
tmux
  • tmux是一个很优秀的分屏软件,介绍可以看jyy的PA讲义以及自己搜索教程;
  • 我使用了何伟的配置,具体见相关内容的setting
  • 我又加了一个插件使得tmux在重启之后状态可以恢复:
    • 主要参考这个知乎教程
    • git clone https://github.com/tmux-plugins/tmux-resurrect ~/tmux_tmp
      
    • 在~/.tmux.conf.local里面加上:
      run-shell ~/tmux_tmp/resurrect.tmux
      
    • 最后载入这个配置:
      tmux source-file ~/.tmux.conf
      
vim的美化
  • 使用啦懒人vim: spf13-vim美化
  • 请看相关内容的setting,找到并且下载spf13-vim.sh,然后bash spf13-vim.sh
  • 我的配置同样在相关内容的setting里面;
  • 这个时候的vim没有办法和系统剪切版交互,我根据https://www.cnblogs.com/memory4young/p/could-not-use-system-clipboard-in-vim.html 下载了其他一些插件:
    sudo apt-get install vim-scripts vim-gtk vim-gnome
    </code>
    这样 vim —version|grep “cliboard” 会看到 +clipboard;
    然后就可以用+y,+p实现系统剪切版和vim剪切版的交互啦!

其他内容:

  • OSlab还需要:
    • sudo apt-get install curl
    • sudo apt-get install gcc-multilib
  • git 配置请搜索廖雪峰
  • ctags 可以参考Mengzelev的博客
  • 感谢xnr给我推荐的network来查看linux的运行情况
    • 这是netdata的官方网站:https://github.com/netdata/netdata#user-base
    • 但是由于GFW,安装会出现报错,事实上需要终端翻墙才行
    • 可以通过这篇教程
       sudo apt-get install net-tools
        ifconfig
      

      查看inet 之后的内容来得知自己的server_ip
    • 成功之后,进入 http://127.0.0.1:19999/ (:19999前面的是自己的server_ip地址,请按需要更改),得到炫酷的体验
    • 相应配置可以参考这篇博客或者自己搜索
  • OSlab的kvm bug处理方法:https://bugzilla.redhat.com/show_bug.cgi?id=1479558
    chmod 666 /dev/kvm to get it working right now. Then to fix future reboots, create a file /lib/udev/rules.d/99-kvm.rules with this content:
    KERNEL=="kvm", GROUP="kvm", MODE="0666"
  • texlive 安装
    sudo apt install texlive-full
    相关的vscode配置可以抄我的[setting](https://github.com/larryytr/Note_for_blog/tree/master/setting) vscode的保存即编译请
    Ctrl+Shift+p,搜索setting,搜索Build,Latex-workshop › Synctex › After Build: Enabled打勾;
  • ubuntu的截图:我参考了这篇博客
    • 打开右上角的设置—>设备—>键盘—>快捷键,点击+
    • 显然的配置好按键,然后在命令里面写
      gnome-screenshot -a
    • hint:上面的命令终端输入也有效
      截屏的图在文件夹的图片(picture)里面;

ubuntu jupyter lab配置

在服务器上面配置了jupyter lab;

主要借鉴了:https://cloud.tencent.com/developer/article/1769288?from=information.detail.jupyter%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8

  • 安装anaconda

  • 使用python生成密钥;

    1
    2
    3
    4
    5
    6
    7
    8
    In [1]: from notebook.auth import passwd                                        

    In [2]: passwd()
    Enter password:
    Verify password:
    Out[2]: 'sha1:salt:hashed-password'#这里输出的东西就是密钥,复制好之后填

    In [3]: exit()
  • 生成配置文件:

    1
    jupyter notebook --generate-config
  • 修改它:

    1
    vi ~/.jupyter/jupyter_notebook_config.py

    在末尾加上:

    1
    2
    3
    4
    5
    6
    7
    c.NotebookApp.allow_remote_access = True   # 允许外部访问
    c.NotebookApp.ip='*' # 设置所有ip皆可访问
    c.NotebookApp.password = u'sha1:salt:hashed-password' # 使用刚才生成的密钥
    c.NotebookApp.open_browser = False # 禁止自动打开浏览器
    c.NotebookApp.port = 2021 # 任意指定一个不冲突的端口,
    c.NotebookApp.notebook_dir = '/home/ubuntu/JupyterProject/' #默认文件路径,这里用户名要改成自己的
    c.NotebookApp.allow_root = True # 允许root身份运行jupyter notebook
  • 记得在安全组里面打开这个

  • 在服务器端输入jupyter notebook, 然后本地浏览器输入 服务器地址:2021就行啦(比如 122.52.187.69:2021)(这个服务器是随意打的)

To be continued

  • 有空再研究怎么换主题;