#app-image #environment #within #interact #ways #bin #web

appimage_environment

这个crate包含一些结构和函数来处理AppImage中包含的工具。

3 个不稳定版本

0.2.1 2021年1月9日
0.2.0 2021年1月9日
0.1.2 2021年1月9日

#1072文件系统

BSD-3-Clause

19KB
247

appimage_environment

在AppImage中以简单方式作为Rust程序进行交互。

文档

示例用法

你可以从构建一个简单的appimage-directory开始,结构如下

mkdir -p appimage_dir/{bin,usr/local/bin,usr/bin,usr/games,data,web}

... 并添加一些必要的appimage组件(是的,我知道...这对我也很烦人)

wget "https://raw.githubusercontent.com/ph0llux/appimage_environment/main/appimage_example_stuff/init.desktop" -O appimage_dir/init.desktop
wget "https://raw.githubusercontent.com/ph0llux/appimage_environment/main/appimage_example_stuff/icon.png" -O appimage_dir/icon.png

... 现在复制一些示例内容

git clone https://github.com/ph0llux/get_ipv4_addr
cd get_ipv4_addr
make
cp get_ip_addr ../appimage_dir/usr/bin/
chmod +x ../appimage_dir/usr/src/get_ip_addr
cd ..

以正常方式创建一个cargo项目,并在main.rs中添加一些示例代码(别忘了在Cargo.toml中包含appimage_environment!)

extern crate appimage_environment;

use appimage_environment::Environment;
use appimage_environment::InternalCommand;

fn main() {
    println!("{:?}", Environment::get_path_of("get_ip_addr"));
    println!("{:?}", InternalCommand::get_stdout_from_call("get_ip_addr"));
}

现在你可以编译目标并添加到appimage中

cargo build --release
cp target/release/project_named_target ../appimage_dir/AppRun #your executable must be named "AppRun"

现在你可以构建你的appimage并执行(以x86_64为例)!

wget "https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage"
chmod +x appimagetool-x86_64.AppImage
./appimagetool-x86_64.AppImage -n appimage_dir

依赖关系

~8–18MB
~330K SLoC