Sometimes Ubuntu fails to connect VPN. Open the PPTP advanced options, uncheck EAP and check MPPE.

Server:

  1. Install VNC server under Ubuntu: $sudo apt-get install vnc4server

  2. Configure the VNC server, $vi ~/.vnc/xstartup
    change the style to gnome-session & in the last line.

  3. start the VNC server: $vncserver

Client:

  1. Install VNC client under Windows: use http:\IP:580$ID to log in.

Tips: For 10060 error, run $iptables -F to close firewall.

Server:

  1. run $sudo apt-get install openssh-server

  2. run $ps -A |grep ssh.
    If there is sshd, then ssh-server has been started,
    else run $sudo /etc/init.d/ssh start to start ssh-server.

Tips: To stop ssh-server, execute $sudo /etc/init.d/ssh stop.
To modify the configuration, edit /etc/ssh/sshd_config.

Client:

ssh-client is usually already installed. If not, run
$sudo apt-get install openssh-client.

After installing ssh-client, run $ssh username@192.168.1.112.

Mount Linux folder under Linux

1
2
sudo apt-get install cifs-utils
sudo mount -t cifs -o username=XXX,password=XXX //10.70.1.82/src_dir tgt_dir

Mount Windows folder under Windows

add network device

Mount Linux folder under Windows


  1. Install Dokan and WinSSHFS: for Win10, recommend 1.6.1.13 win-sshfs and 1.0.3 Dokan.

  2. Open WinSSHFS, fill in the drive name, host, port, username, password, directory. The other entries can be left blank.

Remote Connect to Ubuntu in Windows


a) cmdline: putty, secureCRT

b) window:

xrdp: http://jingyan.baidu.com/article/8ebacdf0cdc64949f75cd555.html

1
2
3
4
5
sudo apt-get install xrdp
sudo apt-get install vnc4server
sudo apt-get install xubuntu-desktop
echo "xfce4-session" >~/.xsession
sudo service xrdp restart

xrdp mm process login response login failed
When this error occurs, try the following methods, followed by “sudo service xrdp restart”.

  1. delete vnc processes

    1
    2
    ps -ef | grep vnc
    kill -9 XXX
  2. delete X sessions, .xrdp, .X11-unix, .X0-20

    1
    cd /tmp && ls -a
  3. modify “MaxSessions” number

     sudo vim /etc/xrdp/sesman.ini
    

Credential ticket for principles without need to type in password, from MIT Kerberos.
A ticket has ticket lifetime and renewable lifetime.
Ticket lifetime is shorter than renewable lifetime.
For liniu@ANT.AMAZON.COM, the default ticket lifetime is 10h (resp., 6h40m) when using kinit -l (resp., -r), why?

From KDC server side:

  1. modify the max_life in /etc/krb5kdc/kdc.conf and restart the KDC daemon /var/kerberos/krb5kdc/kdc.conf
  2. Via “kadmin”, changed the “maxlife” for a test principal via “modprinc -maxlife 14hours “

From Kerberos client side:
modify in /etc/krb5.conf

In fact, the ticket lifetime is the minimum of the following values:

  • max_life in kdc.conf on the KDC servers.

  • ticket_lifetime in krb5.conf on the client machine.

  • maxlife for the user principal.

  • maxlife for the service principal “krbtgt/[REALM_in_CAPS]”

  • requested lifetime in the ticket request. For example: kinit -l 14h

  • maxlife for the AFS service principal “afs/[realm_in_lower_case]”, if you want to increase the lifetime of your AFS token.

commonly used commands:

1
2
klist
kdestroy

An example:

Ticket cache: FILE:/tmp/krb5cc_4126574_GM19Ct
Default principal: liniu@ANT.AMAZON.COM

Valid starting Expires Service principal
08/18/16 08:13:20 08/18/16 18:13:20 krbtgt/ANT.AMAZON.COM@ANT.AMAZON.COM

time format is like 4d5h30m

1
2
3
4
5
6
kinit -l lifetime //request a ticket with ticket lifetime of lifetime
-r renewable-life //request renewable ticket with a total lifetime of renewable-life
//I'm still unclear about the difference between -l and -r
-f //forwardable
-F //non-forwardable
-R //requests renewal of the ticket-granting ticket. No need for password but must be within ticket lifetime instead of renewable lifetime.

Automatically renew tickets: Since you need to renew a ticket before its ticket lifetime expires, the easiest way to renew tickets is to put it in a cron job since renewing a ticket is non-interactive.

Run ‘crontab -e’ to edit the file in /var/spool/cron/. Use ‘crontab -l’ to see the file.

1
2
3
4
5
6
7
8
9
# Renew the kerberos ticket every 8 hours, this will extend the lifetime of 
# the ticket until the renew lifetime expiers, after that this command will
# fail to renew the ticket and you will need to interactively
# run `kinit -f -l 86400 -r 2592000`
#
# minute hour day_of_month month weekday command
59 00,08,16 * * * /usr/kerberos/bin/kinit -R
//59 minute, 0 or 8 or 16 o'clock, any, any, any, the command to be executed is '/usr/kerberos/bin/kinit -R'
//some short notations: 1-3 means 1,2,3; */15 means every 15

Key Notes:

  1. do not use sudo kinit

  2. when no credential ticket can be found, add -c $KRB5CCNAME, where KRB5CCNAME is the environment variable recording the path of credential ticket.

  1. Preinstallation

  2. SSH keys

    • check whether ssh exists $cd ~/.ssh. If not, $ssh-keygen -t rsa -C "your_email@example.com" to generate key file
    • get the SSH key $cat ~/.ssh/id_rsa.pub
    • create the key in github: account setting->SSH
    • check the SSH key $ ssh -T git@github.com
  3. create an empty folder as Hexo folder

    1
    2
    3
    $hexo init
    $hexo generate
    $hexo server

    local test: http://localhost:4000/

  4. deploy local Hexo folder

    • in Hexo folder, modify the _config.yml file as follows,

      1
      2
      3
      4
      deploy:
      type: git
      repository: $(SSH address from github)
      branch: master
    • in Hexo folder, install the deployer by $npm install hexo-deployer-git --save
    • type $hexo g and $hexo d, or $hexo d -g.
  5. change theme: go to the folder “/themes” and git clone https://github.com/iissnan/hexo-theme-next. config the theme in the file “/themes/XXXX/_config.yml”.

  6. local search

    • $npm install hexo-generator-searchdb --save

    • in the site _config.yml file, set local_search: enable: true. paste the following lines anywhere.

      1
      2
      3
      4
      5
      search:
      path: search.xml
      field: post #post, page, all
      format: html
      limit: 10000
  7. add new page for some subcategory (e.g., write): in the theme _config.yml file

    1
    2
    menu:
    write: /categories/write
  8. add social links: in the theme _config.yml file

    1
    2
    3
    4
    # Social links
    social:
    GitHub: https://github.com/ustcnewly
    Linkedin: https://www.linkedin.com/in/li-niu-b0905133/
  9. latex:

    • install $npm install hexo-math --save and restart Hexo
    • in the theme _config.yml file, modify as follows (notice that cdn may change)

      1
      2
      3
      4
      5
      # MathJax Support
      mathjax:
      enable: true
      per_page: false
      cdn: //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML
    • to address the conflict between MathJax and Hexo

      1
      2
      $npm uninstall hexo-renderer-marked --save
      $npm install hexo-renderer-kramed --save
  10. push posts to the top

    • $ npm install hexo-generator-index-pin-top --save.
    • for the target post, add top: true in Front-matter, or top: 10 with larger number indicating higher priority.
  11. insert code block

    1
    2
    3
    {% codeblock lang:python %}
    code snippet
    {% endcodeblock %}
  12. insert image

    1
    <img src="http://bcmi.sjtu.edu.cn/~niuli/github_images/t0IXoZq.jpg" width="50%" height="50%">

Tips:

  1. If something is wrong with the representation and hard to tune, you can try deleting extra spaces or adopting an alternative format (e.g., two code block formats).

  2. Case sensitive: sometimes you switch between capital letter and small letter, which may lead to 404 not found errors.

    • set ignorecase as false in the file .deploy_git/.git/config
    • clean the folder .deploy_git
    • hexo clean and hexo d -g

  • interaction and active reasoning: [2] (Sokoban, Maze, and Taxi)

  • performs both policy and world model learning: [3]

Survey: [1]

Reference

[1] Zhao, Changyuan, et al. “Edge general intelligence through world models and agentic AI: Fundamentals, solutions, and challenges.” arXiv preprint arXiv:2508.09561 (2025).
[2] Shu, Bao, et al. “Thinking by Doing: Building Efficient World Model Reasoning in LLMs via Multi-turn Interaction.” arXiv preprint arXiv:2511.23476 (2025).
[3] Yu, Xiao, et al. “Dyna-Think: Synergizing Reasoning, Acting, and World Model Simulation in AI Agents.” arXiv preprint arXiv:2506.00320 (2025).

Survey: [1]

Reference

[1] Tong, Jingqi, et al. “Thinking with video: Video generation as a promising multimodal reasoning paradigm.” arXiv preprint arXiv:2511.04570 (2025).

Survey: [1]

Reference

[1] Su, Zhaochen, et al. “Thinking with images for multimodal reasoning: Foundations, methods, and future frontiers.” arXiv preprint arXiv:2506.23918 (2025).

0%