- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个火线设备连接到运行 arch linux 的机器上。
我让 FFADO 开始工作,在执行 ffado-dbus-server
后,我可以开始使用带有 Jack 和 Pulseaudio 的火线设备(该卷积与我的问题完全无关)
我基本上每次启动时都必须运行 3 个不同的步骤才能让声音正常工作。我正在尝试让所有这些魔法在启动时自动发生。
我读到了/etc/rc.local
,但我的 arch linux 安装上似乎不存在这样的文件。我读到了 arch linux 上的启动过程,似乎 arch 不使用 rc.local 而是使用 systemd
我浏览了arch wiki page on systemd并尝试在 /usr/lib/systemd/system
ffado-dbus.service
单元文件
我开始尝试使用dbus
单元类型,然后尝试oneshot
,最后simple
无论我做什么,结果都非常一致。服务失败。
我还尝试将服务放入 usr/lib/systemd/user
中,并尝试将其作为 systemctl --user start
运行,但这也产生了相同的失败。
我拥有的单元文件的最简单示例是这样的:
[Unit]
Description=FFADO DBus startup
[Service]
Type=simple
ExecStart=/usr/sbin/ffado-dbus-server
这会产生以下状态:
[pigdog@livingroom system]$ sudo systemctl status ffado-dbus -l
● ffado-dbus.service - FFADO DBus Service
Loaded: loaded (/usr/lib/systemd/system/ffado-dbus.service; static; vendor preset: disabled)
Active: failed (Result: core-dump) since Sun 2015-03-01 04:31:59 MST; 5s ago
Process: 3934 ExecStart=/usr/bin/ffado-dbus-server (code=dumped, signal=ABRT)
Main PID: 3934 (code=dumped, signal=ABRT)
Mar 01 04:31:59 livingroom ffado-dbus-server[3934]: FFADO Control DBUS service
Mar 01 04:31:59 livingroom ffado-dbus-server[3934]: Part of the FFADO project -- www.ffado.org
Mar 01 04:31:59 livingroom ffado-dbus-server[3934]: Version: 2.2.1-Unversioned directory
Mar 01 04:31:59 livingroom ffado-dbus-server[3934]: (C) 2008, Pieter Palmers
Mar 01 04:31:59 livingroom ffado-dbus-server[3934]: This program comes with ABSOLUTELY NO WARRANTY.
Mar 01 04:31:59 livingroom ffado-dbus-server[3934]: -----------------------------------------------
Mar 01 04:31:59 livingroom systemd[1]: ffado-dbus.service: main process exited, code=dumped, status=6/ABRT
Mar 01 04:31:59 livingroom systemd[1]: Unit ffado-dbus.service entered failed state.
Mar 01 04:31:59 livingroom systemd[1]: ffado-dbus.service failed.
Mar 01 04:32:00 livingroom systemd-coredump[3944]: Process 3934 (ffado-dbus-serv) of user 0 dumped core.
在ffado-dbus-server
的主进程中发生了一些神秘的代码6/ABRT
我认为这是因为 systemd
运行的“环境”不包含进程或 ffado 需要运行的东西。我不明白的是如何确定缺少什么,然后如何将其提供给 systemd 环境。
或者,我想让 systemd
环境与我刚刚执行 systemctl
调用的“pigdog”用户环境相匹配。我认为这就是我要做的,将 ffado-dbus.service
文件移动到 /usr/lib/systemd/user
中,然后像 systemctl --user
一样调用 systemctl,但这会产生相同的错误。
我还尝试将 User=pigdog
指令添加到单元文件的 [Service]
部分,但没有成功。
我可以在以 Pigdog 身份登录时从 bash 运行 /usr/bin/ffado-dbus-server
,没有任何问题。当脚本成功时,我得到以下输出:
[pigdog@livingroom system]$ /usr/bin/ffado-dbus-server
-----------------------------------------------
FFADO Control DBUS service
Part of the FFADO project -- www.ffado.org
Version: 2.2.1-Unversioned directory
(C) 2008, Pieter Palmers
This program comes with ABSOLUTELY NO WARRANTY.
-----------------------------------------------
1425209640984446: (ffado-dbus-server.cpp)[ 270] main: Discovering devices...
00973362057: Debug (devicemanager.cpp)[ 354] discover: Starting discovery...
00973405357: Debug (devicemanager.cpp)[ 616] discover: driver found for device 0
00973405880: Debug (devicemanager.cpp)[ 653] discover: discovery of node 0 on port 0 done...
00973405944: Debug (devicemanager.cpp)[ 661] discover: Discovery finished...
00973405980: Debug (devicemanager.cpp)[1258] showDeviceInfo: ===== Device Manager =====
00973406020: Debug (Element.cpp)[ 121] show: Element DeviceManager
00973406047: Debug (devicemanager.cpp)[1266] showDeviceInfo: --- IEEE1394 Service 0 ---
00973406085: Debug (devicemanager.cpp)[1276] showDeviceInfo: --- Device 0 ---
00973406113: Debug (devicemanager.cpp)[1279] showDeviceInfo: Clock sync sources:
00973406165: Debug (devicemanager.cpp)[1288] showDeviceInfo: Type: Internal , Id: 0, Valid: 1, Active: 1, Locked 1, Slipping: 0, Description: Internal sync
00973406199: Debug (devicemanager.cpp)[1288] showDeviceInfo: Type: ADAT , Id: 1, Valid: 1, Active: 1, Locked 1, Slipping: 0, Description: ADAT optical
00973406237: Debug (devicemanager.cpp)[1288] showDeviceInfo: Type: SPDIF , Id: 2, Valid: 1, Active: 1, Locked 1, Slipping: 0, Description: SPDIF/Toslink
00973406266: Debug (devicemanager.cpp)[1288] showDeviceInfo: Type: Erratic type , Id: 3, Valid: 0, Active: 0, Locked 0, Slipping: 0, Description: SMPTE
00973406303: Debug (devicemanager.cpp)[1288] showDeviceInfo: Type: WordClock , Id: 4, Valid: 1, Active: 1, Locked 1, Slipping: 0, Description: Wordclock
00973409421: (ffado-dbus-server.cpp)[ 329] main: DBUS service running
00973409433: (ffado-dbus-server.cpp)[ 330] main: press ctrl-c to stop it & exit
00973409436: Debug (ffado-dbus-server.cpp)[ 333] main: dispatching...
最佳答案
当您从 shell 提示符运行启动脚本时,它可以工作,但从 systemd 启动时启动脚本会失败(显然在您的情况下),百分之九十九的问题是环境。
我会将其作为首要任务进行调查 - ffado 包是否设置了其启动脚本所需的一些默认 shell 环境变量。
如果是这样,那么在执行启动脚本之前在 systemd 单元文件中设置相同的环境变量就变得很简单。
关于linux - 如何让这个 systemd 脚本在 ArchLinux 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28797559/
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
如何在 Arch Linux 中使用“makepkg”来安装 AUR 而无需安装任何依赖项?或者任何可以做到这一点的 AUR 助手? 有点类似于 pacman(包): pacman -Sdd somp
我正在运行sudo pacman -Syu在我的 Archlinux 上,我得到以下信息: cristian@localhost:~$ sudo pacman -Syu :: Synchronizin
当我尝试在 arch Linux 上启动 realvnc-vnc-viewer 时,依赖项 (libcrypt.so.1) 丢失了。每次我尝试使用命令行启动 vnc-viewer 时都会提示这些错误:
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
所以,我试图通过以下方式删除 GNOME sudo pacman -Rsn gnome 但我得到了错误 checking dependencies... :: removing networkmana
我知道使用 systemctl status 检查服务的特定状态并使用 systemctl enable 在系统启动时将服务置于自动启动状态。但是如何列出所有现有的自动启动服务? 最佳答案 对于系统和
1、配置pacman源 nano /etc/pacman.d/mirrorlist #编辑pacman源 找到## China,取消下面每行前面的注释,开启国内pacman源 ## China S
像许多弓箭手一样,我每天都使用pacman更新软件。 通常会有这样的更新: foo-1.1 ---> foo.1.2 我想知道是否有办法查看从foo-1.1更新为foo-1.2的内容,或发布说明错误修
slock 与 xfce 一起安装。 当我点击右上角的“锁定屏幕”时,屏幕变黑。按任意键,屏幕会变红,但如何取消呢? slock中没有解锁的UI? 最佳答案 我发现它只是在等待密码。输入正确的密码,屏
我正在通过 pacman -Ss boost-libs 安装 C++ boost 库。安装后,我想知道我的软件包安装在系统中的哪个位置。 有没有 pacman 命令可以做到这一点? 最佳答案 我现在不
Cat' 在我的 archlinux x64 上启动 mysqld。 Job for mysqld.service failed. See "systemctl status mysqld.servi
我在我的 ArchLinux 上安装了 mongodb,我想导出数据库。但我找不到命令 'mongoexport'。我使用 "find/-name 'mongo*' 但没有找到有关 mongoexpo
说明: 系统:Archlinux IP地址:192.168.21.170 子网掩码:255.255.255.0 网关:192.168.21.2 DNS:8.8.8.8 8.8.4.4
我的平板支撑有问题。不幸的是,我在 stackoverflow 或其他任何地方都找不到任何条目来解决我的问题。因此,我决定在这里提出一个新问题。 我的问题: 一些应用程序(.desktop 文件)在
2021-09-30 the Lets Encrypt certificate DST_ROOT_CA_X3 expired .我有一个较旧的 Archlinux 版本,现在无法通过对 Lets En
我从官方 Arch Linux 软件包存储库安装了 pgadmin4 (v4.4) 软件包。它一直有效,直到最近的更新。现在我无法添加新服务器。在浏览器中我得到了错误: http://127.0.0.
我想知道 yaourt 是否可以设置为始终对某些软件包使用 ABS(构建形式源)(因此,即使在执行完整系统升级时,它们也是从源构建的:yaourt -Syua)。 /etc/yaourtrc 中的 B
此文本显示在 intellij idea的运行选项卡。它是什么?我在谷歌搜索,但只有 gnome 解决方案。我正在使用 archlinux 和 kde5 等 ionic 最佳答案 运行: sudo p
嗨,我有一个基于 Swing 的 Java 应用程序,它在我的 Kali 发行版中的计算机上运行良好 我想在基于 ArchLinux 的 raspBerry pi3 b+ 中运行这个应用程序 jar,
我是一名优秀的程序员,十分优秀!