0.4.0 |
|
---|---|
0.3.1 |
|
0.3.0 |
|
在 #mumble 中排名 #11
160KB
3.5K SLoC
mum
Mumble 守护进程带控制器(类似于 mpd(1)
/mpc(1)
),用 Rust 编写。
构建
mumd 和 mumctl 可在 crates.io 上找到,并可以使用以下命令安装
$ cargo install mumd
$ cargo install mumctl
它们也可在 AUR 上找到。第三种方法,我们在 Github 上发布 编译后的二进制文件。
要求
以下适用于 Arch Linux。您可能在其他发行版和操作系统上需要其他软件包,或者它们的名称可能不同。
- rust (稳定版 1.53)
- alsa-lib
- openssl
- opus
- libnotify(可选,默认配置中需要)
目前不支持 Windows,但将来可能支持。应支持 macOS。其他操作系统尚未测试。Windows 的限制因素是 IPC 通信,目前是通过 crate ipc-channel 实现的。
我们只保证在最新的 Rust 稳定版上编译。如果这成为您的问题,请提交工单,我们将看看能做什么。
安装
- 构建二进制文件
- (等待)
- 复制/符号链接到合适的位置(或不这样做)。
$ cargo build --release
$ ln -s $PWD/target/release/mumctl $HOME/.local/bin/
$ ln -s $PWD/target/release/mumd $HOME/.local/bin/
可选功能
mum 包含默认启用的可选功能。要编译而不使用它们,请使用 --no-default-features 构建。然后可以使用 --features "FEATURES" 启用功能。
以下是可以指定的功能
| 名称 | 需要的 | |--------------------+--------------------| | mumd/notifications | 通知 | | mumd/ogg | .ogg 音效 |
如果您使用的是 Cargo 1.51 或更高版本,您可以直接从工作区根目录指定功能
$ cargo build [--release] --no-default-features
较旧版本需要单独构建软件包
$ cd mumd
$ cargo build --release --no-default-features
$ cd ../mumctl
$ cargo build --release --no-default-features # technically unneeded
# since no features exist
man-pages
mumd、mumctl 和 mumdrc(配置文件)的 man 页面包含为 asciidoc txt 文件和已格式化的 groff 文件。它们是用以下方式生成的
$ asciidoctor -b manpage *.txt
用法
本段描述了如何连接服务器并加入不同的频道。有关更多信息,请参阅 $ mumctl --help
或 文档/*.txt
。
mumd
使用mumd启动守护进程。目前它附加到终端,因此如果您想在后台运行它,可以使用例如(zsh)来断开连接。
$ mumd &>/dev/null &|
我们希望在未来提供--daemonize
。
mumctl
通过mumctl与守护进程进行交互。一些示例
$ mumctl connect 127.0.0.1 spock # connect to 127.0.0.1 with username 'spock'
$ mumctl channel list
ServerRoot
-user1
-user2
-user2
Channel2
Channel3
$ mumctl channel connect Channel2
已知问题
问题的主要中心是我们的问题跟踪器。此外,还有一些功能在问题跟踪器上不存在。
为什么?
主要是因为这是一种学习新语言的好方法。此外
- 大多数Mumble客户端使用GUI。虽然GUI并不一定是坏事,但至少应该存在可能的替代方案。
- 内存、磁盘和CPU使用。我们还没有找到可靠的测试方法(欢迎建议)。
其他项目
- Barnard(go) - TUI Mumble客户端
依赖项
~12–28MB
~437K SLoC