我的 Ubuntu 安装有一个小音频问题,可以通过在终端上运行命令来修复(不需要 root 权限):
pacmd load-module module-alsa-sink device=hw:0,0 &&
pacmd load-module module-alsa-source device=hw:0,0
唯一的问题是我必须在每次重新启动后执行此操作。我怎样才能自动化这个任务?请记住我使用的是 Wayland/Gnome 42。
答案1
答案2
简单的问题是这样的(至少对于像 Debian 这样的操作系统),我假设您不需要在不需要用户登录系统的情况下运行这些命令,安排 a cronjob
,这个过程非常简单,只需在控制台中输入:
crontab -e
控制台会询问你将使用什么编辑器,我通常保留默认选项,在Ubuntu中是nano,所以只需按一下键Enter
:
no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
现在您只需移至最后一行并粘贴以下行:
@reboot sleep 10 && pacmd load-module module-alsa-sink device=hw:0,0
@reboot sleep 11 && pacmd load-module module-alsa-source device=hw:0,0
说明: 中的@reboot通配符
crontab
将在操作系统到达某个点后执行以下操作。我喜欢在要执行的命令和提到的点之间添加延迟,因此命令sleep
。
然后按Ctrl+X
,然后键入字母并再次y
按。Enter
现在测试一下。
额外:您始终可以crontab
通过运行以下命令来检查日志:
grep CRON /var/log/syslog
答案3
您可以使用 SystemD 自动化的强大功能。我建议只将命令添加到 .xinitrc 中,但由于您使用 Wayland,恐怕这行不通。您还可以尝试将包含命令的脚本添加到 /etc/rc.d (如果您有一个脚本,我相当确定 SystemD 有一个,但我使用 OpenRC,所以我不确定)
答案4
您没有提到 Ubuntu 风格/DE,或者这是否需要在启动时完成或可以在登录后完成。如果您可以在登录后完成,只需将其添加到会话自动启动中即可。否则,您可以将其添加到 /etc/xdg/autostart 中,或者如果您已经剥离了计算机的 .xinitrc。其他方面请参阅 Artem 的建议。