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

#mumble 中排名 #11

MIT 许可证

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

安装

  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 "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使用。我们还没有找到可靠的测试方法(欢迎建议)。

其他项目

依赖项

~12–28MB
~437K SLoC