之前有写过一一篇文章介绍,如何在 Windows 配置 SageMath 以便远程使用。
但是 SageMath 的 Windows 版本早在9.3版时就已经不再更新,想要使用最新的SageMath只能在linux上使用。
由于网上找不到SageMath在Linux配置远程服务器的介绍,这里在折腾一番之后将配置记录下来,以便后来者使用。
这篇文章将介绍SageMath的安装,不论是使用虚拟机还是实体机服务器,都适用这篇文章。
本机使用arch作为演示,arch是SageMath推荐的Linux发行版,对SageMath的跟进更为密切,当然您也可以在其他操作系统上编译SageMath源码获取最新版软件。
首先执行命令安装sagemath,其余软件包可以按需求安装。
sudo pacman -S sagemath sagemath-doc # SageMath的主体
sudo pacman -S jupyter jupyter-notebook jupyterlab # 虽然没什么用,但需要用这玩意儿生成密码
随后执行这条命令生成一个针对于SageMath的配置文件(这一步我折腾了三个小时才发现)
sage --notebook=jupyter --generate-config
执行完之后,会告诉你生成的配置文件在哪个目录里,其名称是jupyter_notebook_config.py。一般在用户目录的~/.sage/jupyter-x.x/里。
然后编辑该文件,在文件末尾,写入以下两条指令,设定端口和让外部IP可以访问。不设置的话只能本地访问。(网上的NoteBookApp已经过时了,现在要用ServerApp这种新写法)
c.ServerApp.ip='*'
c.ServerApp.port=8866
设置完之后,保存退出。当然如果你有什么想设置的功能也可以添加进去。
但是光这样,想要访问还是要用token才行,需要设置密码。
jupyter notebook password
我们执行一下上面的命令生成一个密码文件。
执行完之后它会提示你已经将这个密码文件生成到一个目录里,这个密码文件叫jupyter_server_config.json。
但是这个文件生成的是jupyter的密码文件。我们把它拿出来,copy到SageMath专有的jupyter文件夹中,也就是说和上面的jupyter_notebook_config.py放在同一个目录里。
做完这些,大功告成,我们可以执行下面命令来运行。
sage -n
执行之后即可通过浏览器的IP:端口来访问SageMath。