0.4.0 2021年6月20日
0.3.1 2021年4月8日
0.3.0 2020年12月26日

#10 in #mumble

MIT 许可证

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稳定版上编译。如果您遇到问题,请提交工单,我们将看看我们能做些什么。

安装

  1. 构建二进制文件
  2. (等待)
  3. 复制/创建符号链接到某个地方(或者不这样做)。
$ 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使用情况。我们还没有找到可靠的测试方法(欢迎提出建议)。

其他项目

依赖关系

~4–16MB
~144K SLoC