0.4.0 |
|
---|---|
0.3.1 |
|
0.3.0 |
|
#10 in #mumble
56KB
1.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 "FUNCTIONS"启用功能。
以下是可以指定的功能
| 名称 | 需要的 | |--------------------+--------------------| | 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手册页
mumd、mumctl和mumdrc(配置文件)的手册页(作为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客户端
依赖关系
~4–16MB
~144K SLoC