源码安装
在官方下载地址下载安装包:
https://jp-minerals.org/vesta/en/download.html

下载完成后
tar -xvjf VESTA-gtk3-x86_64.tar.bz2
得到的文件夹内包含了:
VESTA-gtk3-x86_64/
- VESTA ← 主启动程序
- VESTA-gui ← GUI 组件
- VESTA-core ← 核心计算模块
- libVESTA.so ← 动态库
- elements / wyckoff.dat / spgra.dat ...
- *.ini / *.cif / *.sh
进入 VESTA/bin 运行 ./VESTA 运行
修复了一些我碰到的问题后的启动方式:
#!/bin/bash
set -e
export DISPLAY=:0
export GDK_BACKEND=x11
export LD_LIBRARY_PATH="$HOME/vesta-libs/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH"
# Auto-detect Xwayland authority file (GNOME Wayland)
XAUTH="$(ps -ef | awk '/\/usr\/bin\/Xwayland :0/ && $0 ~ /-auth/ {for(i=1;i<=NF;i++) if($i=="-auth") {print $(i+1); exit}}')"
if [[ -n "$XAUTH" && -r "$XAUTH" ]]; then
export XAUTHORITY="$XAUTH"
fi
exec "$(dirname "$0")/VESTA"
然后
chmod +x /media/waler/4TB/installer/VESTA/VESTA-gtk3-x86_64/run-vesta.sh
下一步创建图标
nano ~/.local/share/applications/vesta.desktop
vesta.desktop内容为:
Desktop Entry
Type=Application
Name=VESTA
GenericName=Crystal Structure Viewer
Comment=Visualization for Electronic and STructural Analysis
Exec=/media/waler/4TB/installer/VESTA/VESTA-gtk3-x86_64/run-vesta.sh
Icon=/media/waler/4TB/installer/VESTA/VESTA-gtk3-x86_64/VESTA.png #图标图片文件自己准备
Terminal=false
Categories=Science;Education;Chemistry;Physics;
StartupWMClass=VESTA
接着运行
chmod +x ~/.local/share/applications/vesta.desktop
update-desktop-database ~/.local/share/applications
可能出现的报错:
1,libwebkit2gtk库缺失
./VESTA
./VESTA-gui: error while loading shared libraries: libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory
系统缺少依赖 WebKitGTK(libwebkit2gtk-4.0)
然而在ubuntu 24.04中找不到这个库,因此需要临时添加jammy库安装libwebkit2gtk
1,临时添加 jammy 源
sudo tee /etc/apt/sources.list.d/jammy-temp.list >/dev/null <<'EOF'
deb http://archive.ubuntu.com/ubuntu jammy main universe
deb http://archive.ubuntu.com/ubuntu jammy-updates main universe
deb http://security.ubuntu.com/ubuntu jammy-security main universe
EOF
sudo apt update
2,只下载(不安装)需要的两个包
apt-cache policy libwebkit2gtk-4.0-37 libjavascriptcoregtk-4.0-18
然后
apt-get download -t jammy-updates \
libwebkit2gtk-4.0-37 \
libjavascriptcoregtk-4.0-18
执行后当前路径应当存在
libwebkit2gtk-4.0-37_2.50.4-0ubuntu0.22.04.1_amd64.deb
libjavascriptcoregtk-4.0-18_2.50.4-0ubuntu0.22.04.1_amd64.deb
以及
3,移除 jammy 源
sudo rm /etc/apt/sources.list.d/jammy-temp.list
sudo apt update
4,把旧库解包到用户目录(不安装)
mkdir -p $HOME/vesta-libs
dpkg-deb -x libjavascriptcoregtk-4.0-18_*.deb $HOME/vesta-libs
dpkg-deb -x libwebkit2gtk-4.0-37_*.deb $HOME/vesta-libs
验证
ls $HOME/vesta-libs/usr/lib/x86_64-linux-gnu | grep -E 'webkit|javascriptcore'
如果看到以下内容,则库已经准备完毕
5测试运行
export LD_LIBRARY_PATH=$HOME/vesta-libs/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
然后运行./VESTA
2,libicui18n库缺失
./VESTA-gui: error while loading shared libraries: libicui18n.so.70: cannot open shared object file: No such file or directory
Ubuntu 24.04 自带的 ICU 版本更高,而 VESTA 需要 ICU 70(Ubuntu 22.04 的 ICU 版本是 70.x)
1,临时加 jammy 源(仅用于下载 ICU 包)
sudo tee /etc/apt/sources.list.d/jammy-temp.list >/dev/null <<'EOF'
deb http://archive.ubuntu.com/ubuntu jammy main universe
deb http://archive.ubuntu.com/ubuntu jammy-updates main universe
deb http://security.ubuntu.com/ubuntu jammy-security main universe
EOF
sudo apt update
2,下载 ICU 70(不安装)
apt-get download -t jammy-updates libicu70
3,移除临时源
sudo rm /etc/apt/sources.list.d/jammy-temp.list
sudo apt update
4,解包 ICU 到本地库目录
dpkg-deb -x libicu70_*.deb $HOME/vesta-libs
验证
ls $HOME/vesta-libs/usr/lib/x86_64-linux-gnu | grep -E '^libicu.*\.so\.70'
应该看到
libicui18n.so.70
libicuuc.so.70
libicudata.so.70
5,运行
export LD_LIBRARY_PATH=$HOME/vesta-libs/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
./VESTA


