# kare 使用说明
## 简介
&emsp;&emsp; KARE是一种让用户能够在 Linux 桌面系统上运行适配于其他 Linux 桌面系统应用的兼容环境，它能够解决兼容性问题，提高软件的可用性和可靠性。\
&emsp;&emsp; KARE出现的主要目的是解决基于 Linux 桌面系统开发的软件在其他 Linux 桌面系统操作系统上无法正常运行的问题。KARE通过模拟目标软件的操作系统环境，使软件可以在当前系统上正常运行，从而避免了因为软件不兼容而导致的应用崩溃和数据丢失等问题。
## 如何安装 kare
通过 dpkg 或 apt 安装 kare 软件包后即可使用

## 应用安装
### 通过 shell 命令安装
#### 基本命令
1. 构建运行环境 runEnv，runEnv 可选项如下（区分空格, 不区分大小写）\
    ubuntu16.04&emsp;&emsp;ubuntu18.04&emsp;&emsp;ubuntu20.04&emsp;&emsp;ubuntu22.04\
    v4&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;v10&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;v10sp1\
    openkylin1.0&emsp;&emsp;openkylin2.0\
    shadow
- 有网络条件下\
`kare -b $runEnv`
- 无网络条件下（仅支持构建v10sp1运行环境-X86、ARM）\
`loadimage`\
注: 需要额外的资源包支持，可联系技术服务人员
2. 安装软件包\
`kare -e $runEnv -i ${softwareName}_${version}_${arch}.deb`\
或\
`kare -e $runEnv install ${softwareName}_${version}_${arch}.deb`
#### 命令解释
1. 在宿主机上，构建需要的运行环境，即安装包所适配的系统环境
2. 在宿主机上，安装适配于 runEnv 的软件包 softwareName_version_arch.deb
#### 注意事项
1. 运行环境仅需构建一次
2. -e 在前，-i | install 在后
3. 在任意系统中，如果希望将应用安装至沙箱环境，隔离应用环境与本机系统环境，保证本机系统的安全，可以通过指定 runEnv 为 shadow 进行安装 \
`kare -e shadow -i ${softwareName}_${version}_${arch}.deb`
### 通过调用 dbus 接口安装
#### 接口说明
服务名称: `org.kylin.kare`\
对象路径: `/org/kylin/kare`\
接口名称: `org.kylin.kare`\
方法名称: `bool install(string $runEnv, string ${softwareName}_${version}_${arch}.deb)`

## 应用管理
### 查询已安装应用
#### 基本命令
`kare -l`\
或\
`kare list`

### 列出已安装软件包的文件
#### 基本命令
`kare -L $softwareName`

### 搜索文件所属软件包及文件路径
#### 基本命令
`kare -S $filename`

### 列出通过 kare 构建的兼容运行环境
#### 基本命令
`kare -E`

### 应用卸载
#### 通过调用 dbus 接口卸载
##### 基本命令
1. `kare -P $softwareName`
2. `kare -r $softwareName $version`\
或\
`kare remove $softwareName $version`

##### 命令解释
1. 卸载所有名为 softwareName 的软件包
2. 卸载指定版本号的软件包

#### 通过调用 dbus 接口卸载
##### 接口说明
服务名称: `org.kylin.kare`\
对象路径: `/org/kylin/kare`\
接口名称: `org.kylin.kare`\
方法名称: `bool remove(string $softwareName)`

### 修复应用
#### 基本命令
`kare -f $softwareName`
##### 命令解释
当软件无法正常运行时，可通过该命令修复一些简单错误，然后尝试重新运行应用

### 调试应用
#### 基本命令
`kare inspect $softwareName`
##### 命令解释
当软件因未知错误无法运行或者上述修复命令未能修复需要调试应用时，通过该命令进入到应用所处环境，在这个环境可以进行进一步的调试操作

## 应用运行
1. 通过 kare 安装的软件包，一般都会有 Desktop 文件作为该软件包的启动入口，该文件位于桌面或开始菜单
2. 使用软件商店通过 kare 安装的应用程序可以直接通过软件商店的“已安装”部分启动
3. 通过查看 Desktop 文件的可执行字段，使用 shell 运行该字段

### 注意事项
1. 升级/换机场景
- 默认情况下是“以兼容模式”运行此应用，即双击桌面图标或开始菜单图标时将以兼容模式打开
- 右键桌面图标，选择“以兼容模式打开”后，用户可以选择此应用的运行环境，并可以选择是否记住此模式（记住运行环境和兼容运行模式）

2. 其他场景
- 通过 kare 安装的应用，永久是以兼容模式打开

## 帮助
### 基本命令
kare -h