❶ Debian-i3wm安装配置
安装Debian基础系统,不需要安装桌面,我是刻录U盘安装,网上有很多例子,这里不在做说明。 安装完成后,配置过内镜像源(我用的是网易的源),更新系统。 参考文章: 1、Debian安装教程 https://www.linuxidc.com/Linux/2017-07/145587.htm 2、网易开源镜像 http://mirrors.163.com 最后一个跟电脑的显卡有关 虚拟机:xserver-xorg-video-vesa和xserver-xorg-video-vmware Intel核显,用xserver-xorg-video-intel A卡,xserver-xorg-video-ati N卡,xserver-xorg-video-nvidia A卡和N需要安装闭源驱动才可以驱动,安装方法请参考Debian可的官方wiki i3 是窗口管理器,里面包含了i3-wm,i3lock和i3status sakura 是terminal lightdm 是登录管理器 ttf-wqy-zenhei 是字体 安装完成后重启就可以了。 第一次登录之后会提示你配置文件缺失,是否自动建立一个,回车就好。 选择win或者alt键,作为mod键(意思就是,在i3里面的各种操作,都是靠这个键和其他按键组合完成),选一个自己喜欢的回车。 几个快捷键: 快捷键和其他i3相关的配置都在.config/i3/config文件,可以添加和修改成自己喜欢的按键 xcompmgr 用来实现窗口透明 fcitx 输入法 feh 图片查看器,可以用来设置桌面背景 network-manager-gnome 网络管理 volumeicon-alsa 音量控制 pulseaudio 声卡驱动 pavucontrol 配置声音 xorg 需要里面的xrandr来做相关配置 lxappearance 用来调节gtk主题和字体 rofi 可以配置成程序启动器用来代替默认的dmenu 开启systemtray,在桌面右下角增加网络、音量、输入法图标,方便操作。 在终端键入xrandr –output 然后空格使用补全,会自动弹出你可用的显示器(我的笔记本是LVDS-1,这个应该和硬件有关,不需要管。)然后添加 –primary 最终整条命令是:xrandr –output LVDS-1 –primary 编辑i3的配置文件,在文件最底部添加指令(需要退出root状态,仅编辑自己home下的config) 参考贴吧大神的帖子: http://tieba..com/p/4332307704
❷ 解决Linux无法连接蓝牙耳机Bose QuietComfort 35(QC35)的问题
切换到Arch也有一段时间了,一直在用的QC35也又一次遇到了蓝牙配对的问题。以前都是用Blueman,或者直接连接有线,但是问题只是被隐藏了,这次还是好好把这个问题解决了一下。 Linux下连接蓝牙设备的方法可以参照 Arch Wiki:Bluetooth ,我使用的蓝牙设备是USB CSR8510蓝牙适配器,按页面说明安装好软件包后,启动蓝牙服务,进入bluetoothctl,耳机打开配对模式,scan on查找到我的耳机的MAC,pair 04:52:C7:5B:CB:65,出现问题: 如果你在蓝牙设置界面进行配对尝试,不同桌面也有不同的错误提示,反正就是无法完成配对。如果使用Blueman等软件,有机会可以通过多次重试成功连接,但是问题还是间歇出现,并不能治本。 网络是找不到什么好解决方案的,直接Google,不一会就找到了有用的解决方法, Pairing Bose QC 35 over Bluetooth on Fedora ,问题上看基本就是我的问题,最高票的回答也很简单,QC35声称支持低功耗蓝牙(LE)但不支持低功耗模式下的配对,Bluez也还不支持明明配对一个LE设备,却要切换到BR模式来配对(大概是这个意思),除非你在配置文件里指定所有设备都应该工作在BR模式,所以打开配置文件/etc/bluetooth/main.conf(没有的话新建一个),找到下面的 将 # ControllerMode = al改为ControllerMode = bredr,然后保存,对于新建的文档,直接输入下面的然后保存 然后重启bluetooth服务 现在你应该能在bluetooth里愉快地配对了—-才怪,你还需要删除以前的配对设置,否则会出现org.bluez.Error.AuthenticationRejected错误 再次尝试配对,信任,连接,如果连接时出现Failed to connect: org.bluez.Error.Failed错误,那是你没装pulseaudio-bluetooth包,无法支持A2DP协议,装一个再试就可以了。 成功连接后声音输出可能会默认走的是HSP/HFP,音质会极差,在音频设置里切换到A2DP就正常了。更多蓝牙音频设备的设置可以查看 Arch Wiki:Bluetooth headset 关于蓝牙协议可以查看网络,或者这里有简短的科普 蓝牙协议分析(1)_基本概念 关于这里bluetooth和QC35在配对时鸡同鸭讲的问题,给出解决问题的人也表示自己的蓝牙鼠标是LE,为了使用他后来把配置文件里的ControllerMode删掉了,但是耳机和鼠标都没受影响,他猜想可能配对后的设备是不受配置文件的影响的。
❸ pulseaudio怎么移植到android
通过一个 Wrapper 将对于 Android 原生的 AudioTrack 的请求翻译为 libpulse 客户端 API 的格式,PulseAudio 毫无意外的完成了音频回放的任务。使用 PulseAudio 带来的一个好处就是系统级别的网络音频传输。而这一部分也已经实现了!PulseAudio Android 版本远程音频回放演示 ( 朝内镜像。下一步的工作是开始迁移 AudioFlinger 的策略配置文件到 PulseAudio 策略配置格式,从而实现按需设备选择和统一化音量调整等功能。当然,这一切都无需应用程序本身做任何变更,无需修改一行代码就可以实现类似 DLNA 的远程音频回放功能。
❹ linux下 非root用户由声音,而root用户没有声音怎么办
因是使用root登录来后pulseaudio没有启动源。将root加到pulse-access组:sudo usermod -a -G pulse-access root然后修改配置文件/etc/default/pulseaudio,将PULSEAUDIO_SYSTEM_START设为1,重启后就能听到登录的声音了。可是,这样默认用户登录的时候就没有声音了,可以通过将默认用户添加到pulse-access组的方式,使得所有的用户都有声音。
❺ termux转发X桌面和音频
大部分内容引自网络,感谢相关作者。 这是最简单的方法,效率略低于adb转发。 手机proot安装系统完毕后,在容器系统中启动ssh服务器,PC端不能通过密码验证的原因是用户PAM验证,在 /etc/sshd_config 的配置文件中简单禁用PAM即可。同时保证 /dev/pts 目录的写入权限,sshd需要它。同时要知道termux只能自由使用8000以上端口,默认ssh端口是8022,登录同时转发X: 在较早时候,ssh转发音频很简单,只需要执行下列命令: 本质上,就是将音频输入设备(REMOTE)连接到音频输出设备(LOCAL),流块大小为1Kb。 当我们使用alsamixer命令时,按下F6键,我们可以看到系统拥有的所有声卡。 还可以使用下列命令: 如果还要获得其它设备的连接,就需要重新启动一个ssh会话: 或者使用ffmpeg: hw:3 指要录音的设备(可以使用 arecord -l 命令得到,也可以使用设备名,使用 arecord -L 获得,获得系统默认设备 arecord -L | grep sysdefault )。 如果没有alsa支持,那么这么做: plughw:3 同样由 arecord 找出来的。 mplayer也木有可以使用ffplay(只是ffmpeg的一部份): 现代发行版基本都使用PulseAudio来控制硬件设备,因此,当PulseAudio运行时,使用 plughw:2 会失败。一般情况下,使用PulseAudio默认的就可以了,可以采用 pavucontrol 命令选择输入源。 PC端配置Pulseaudio服务器,首先安装paprefs工具来配置网络音频访问,然后在服务端 /etc/pulse/default.pa 文件中插入一行语句: 有些情况下,pulseaudio不读取默认文件,则需要手动载入模块。 可能需要打开防火墙相应(默认4713)端口。 可以通过以下命令查看运行的X Server桌面号: 传统上,X Server监听TCP 6000端口,可能需要再防火墙打开该端口,现在系统启动时加了 -nolisten tcp ,需要去掉这个选项。在使用gdm3的系统中,可以修改 /etc/gdm3/daemon.conf 文件: DisallowTCP=false ,然后重启gdm3。 客户端需要设置 $DISPLAY 变量,指向服务器的地址,例如: 出于一般的安全考虑,默认不允许直接访问X,需要使用 xhost 命令添加客户端,例如: 由于上层存在不同的窗口管理器,可能还需要修改相应的配置方式。 Xauth是半安全连接,远程服务器直接访问本地X Server会被阻止。因此需要设置Xauth。 Xauth显示规范采用了一种称为"magic cookie"的证书方式,客户端需要提交这个"cookie"给服务端。 Xauth默认配置使用环境变量 $XAUTHORITY 指向的文件或者用户目录下的 .Xauthority 文件。 如果要编辑指定Xauthority文件,则执行 xauth -f xxx 命令。 另外一种ssh方式混合秘钥: 检查是否能显示于本地机器: xclock -display IP:桌面号 默认情况下,XServer关闭tcp端口,因此需要重开一个Xorg。 linuxmint mate下: 按ctrl+alt+f1打开一个tty,启动一个Xorg: X其实是一个Xorg命令的封装脚本。 按ctrl+alt+f7回已登录桌面,虚拟终端下启动一个mate-session: 这里要使用dbus作为进程间通信服务,否则无法正常启动mate桌面。 如果没有错误,按ctrl+alt+f8就可以看到mate桌面已经启动了。 打开新开桌面的虚拟终端,基于IP验证登录: 如需重启后仍然生效,需要写入/etc/X[n].hosts文件,其中n为桌面号。 查看是否监听了6001端口,如果桌面号是2,XServer会在6002端口监听。以此类推。 可以看到XServer对6001端口监听了。 最后在防火墙打开6001端口,允许数据进入。 最后在客户机正常设置$DISPLAY变量即可。 如果不新开X,那么需要确定使用的桌面管理器,比如lightdm和gdm,如果是lightdm,修改 /etc/lightdm 下X启动相关配置文件,其中加入字段: 查看使用什么窗口管理器,可以查看下X服务器的进程: gdm则添加如下字段: 然后可能还要修改 /etc/X11/xinit/xserverrc : 默认情况下监听6000端口。 还有一种xhost关闭安全验证的简写方法: 即默认允许所有客户机访问。 X-Server与X-Client之间的远程通信使用TCP方式, 在实际测试中发现X-Server和X-Client在同一个局域网内才能连接成功, X-Client连接NAT后的X-Server的话是不能成功的. 看来这协议是’NAT敏感’的. 解决方法通常是使用SSH隧道。 还有一个内容, 那就是XDM(X-Display-Manager), 他使用的是XDMCP协议, 走UDP177端口. 以后有机会再补充这块内容。 为解决刚说的’NAT敏感’问题. 我们常常使用SSH隧道上的端口转发功能来绕过问题。 远端上的X-Client应用程序访问其本地SSH-Server开启的转发监听端口PORT1, SSH-Server将其在Port1在监听接入的数据通过已经建立好连接的SSH隧道转发到我们本地的SSH-Client, SSH-Client再将数据转发到本地X-Server所监听的TCP端口PORT2。 以PORT1为6010, PORT2为6002为例, 其SSH隧道建立及开启转发功能的连接命令为: ssh有个简洁的-X参数能自动根据环境配置以上转发参数及远端SSH终端的DISPLAY环境变量. 可以自行翻阅文档查看详情,这功能需要在SSH-Server开启’X11 Forwarding’选项, 这样一来就避开了’NAT敏感’的问题, 从X-Client看来他只是访问本地的X-Server, 从X-Server看来他只是接入本地的X-Client, 所有X层面上看到的IP都是127.0.0.1。 同时这个做法避开了X-Security的xauth远程主机验证,因为都认为是本地主机的访问,只需允许本地访问即可。 大概是速度最快的方式。 所谓UDS,即“Unix domain socket”,即IPC,socket原本用于网络通讯,后来在其框架构建了一种IPC(inter-process communication),即称UDS。 NAMESPACE_RESERVED :就是init.c中/dev/socket/下建立的socket文件。 NAMESPACE_FILESYSTEM:普通命名空间。 NAMESPACE_ABSTRACT:虚拟命名空间。 adb reverse 使用方法查阅帮助文档即可。 显示端执行: 然后远程端设置好 DISPLAY 的桌面号,即可正常显示: 有疑问可参考前面描述的内容。 效率最高,整个手机都可以镜像投屏,树莓派可以使用lazycast,延迟可控制在300毫秒。pc端scrcpy(非miracast),低传输率下100毫米延迟。其它实现没有使用过。
❻ esp32nes没声音
准备工作1.下载 vim在命令行上输入 apt-get install vim 下载 vim2.输入 vim /etc/hosts在所打开界面的第一行最后写上 iTOP4412-ubuntu-desktop 保存退出解决声音的方法既然是声音问题我理所当然的考虑到声音设置。但是当我看到声音设置图标的小喇叭时候发现它好像被“静音”了,然而我点击“Sound Setting”进入设置界面后发现静音选项“Mute”并没有选中;而且“output volume”死活在最左端,并且不能调动,“play sound through”也没有可选项。所以我理所当然的把播放音乐时没有声音的原因锁定到了这里。于是乎开始了我一连四天的网络和谷歌,结果都是无用功。最后还是公司大神告诉我一下这个办法:在命令行输入:vim /etc/init.d/itop-set打开之后会看到里面有这么四条命令:amixer cset numid=7 127amixer cset numid=8 1amixer cset numid=40 1amixer cset numid=45 1把这四条命令复制到命令行上执行,然后选中所需要播放的音乐,右键 —> Open With Rhythmbox Music Player之后可能会弹出来需要安装什么补丁或者什么其他的东西,按照提示全部安装即可。随之奇迹出现了, 真的有声音了, 但是声音很小, 而且看那个小喇叭依旧好像被 “静音” ; 点开声音设置后风景依旧– “output volume”无法调节, “play sound through”也没有可选项。后来在网络上找到这样一段话:Ubuntu 在 root 用户下,为了安全考虑默认是关闭了声音系统的。如果要开很简单,因为 root 登录后 pulseaudio 没有启动。所以要先启动它将 root 加到 pulse 和 pulse-access 组:sudo usermod -a -G pulse-access rootgpasswd -a root pulsegpasswd -a root pulse-access然后:编辑/etc/default/pulseaudio 文件cp -p /etc/default/pulseaudio /etc/default/pulseaudio.bakvim /etc/default/pulseaudio修改以下两处PULSEAUDIO_SYSTEM_START=1DISALLOW_MODULE_LOADING=0改为 1 和 0,表示允许运行在 system 环境,允许动态加载模块。重启一下计算机,声音就会出来了按照上面设置一下果然见效了!至此终于解决这个问题。而那个所谓的“静音”应该说是屏蔽更加确切一点,因为静音的图标是在小喇叭上打叉,并且图标为暗图标而非亮图标。
❼ linux下,非root用户有声音,而root用户没有声音怎么办
因是使用root登录后pulseaudio没有启动。x0dx0a将root加到pulse-access组:x0dx0asudo usermod -a -G pulse-access rootx0dx0a然后修改配置文件/etc/default/pulseaudio,将PULSEAUDIO_SYSTEM_START设为1,x0dx0a重启后就能听到登录的声音了。x0dx0a可是,这样默认用户登录的时候就没有声音了,可以通过将默认用户添加到pulse-access组x0dx0a的方式,使得所有的用户都有声音。
❽ Ubuntu 命令行配置默认声卡、录音播放与音量调节
alsa设置默认声卡 理解和使用Alsa的配置文件 alsa的配置文件是alsa.conf位于/usr/share/alsa目录下,通常还有/usr/share/alsa/card和/usr/share/alsa/pcm两个子目录用来设置card相关的参数,别名以及一些PCM默认设置。 免驱蓝牙适配器 用户配置 https://alsa.opensrc.org/Asoundrc 在home目录添加 .asoundrc文件: 全局配置 在文件最后添加一下内容 1)调节常用命令 ubuntu操音量调整命令amixer 2)使用softvol控制主音量 Softvol 如何使用softvol控制主音量 如果声卡无法控制硬件的音量(如PCM5102),或者驱动程序不支持声卡的此功能,则可以定义一个新的虚拟pcm设备,该设备将控制软件方面的音量。 Ubuntu Linux:从命令行和键盘快捷方式增加减少音量 使用是pulseaudio的自带命令pactl 1.系统不播放音乐,连接过了10分钟,蓝牙自带断开 2.root用户无法调节系统音量
❾ Ubuntu12.04下pulseaudio的安装以及API使用
一、Ubuntu12.04下安装音频库客户端软件libpulse-dev
使用如下命令:
sudo apt-get install libpulse-dev
安装时会提示依赖于下面这几个软件,一并安装即可:
libavahi-client-dev libavahi-common-dev libpulse-mainloop-glib0 libpulse0
这个也可以上packages.ubuntu.com官方网址查询libpulse-dev软件的依赖关系,相关链接如下:
http://packages.ubuntu.com/raring/libpulse-dev
如下图所示:
二、pulseaudio库的使用(同步simple API)
pulseaudio官网有关于pulseaudio的API doxygen使用手册,网址如下:
http://freedesktop.org/software/pulseaudio/doxygen/
1、播音sample
A simple playback tool using the simple API
2、录音sample
A simple recording tool using the simple API
3、编译、运行含有pulseaudio库的时候,需要添加pulseaudio的动态链接库 -libpulse等,
(可以在/usr/lib/i386-linux-gnu/目录下找到pulse的动态库
/usr/lib/i386-linux-gnu/libpulsecommon-1.1.so /usr/lib/i386-linux-gnu/libpulsedsp.so /usr/lib/i386-linux-gnu/libpulse-mainloop-glib.so /usr/lib/i386-linux-gnu/libpulse-mainloop-glib.so.0 /usr/lib/i386-linux-gnu/libpulse-mainloop-glib.so.0.0.4 /usr/lib/i386-linux-gnu/libpulse-simple.so /usr/lib/i386-linux-gnu/libpulse-simple.so.0 /usr/lib/i386-linux-gnu/libpulse-simple.so.0.0.3 /usr/lib/i386-linux-gnu/libpulse.so /usr/lib/i386-linux-gnu/libpulse.so.0 /usr/lib/i386-linux-gnu/libpulse.so.0.13.5)
例如,以pacat-simple.c程序为例:
(1)编译命令如下:
gcc -o pacat-simple pacat-simple.c -lpulse -lpulsecommon-1.1 -lpulse-simple (2)运行上一步生成的pacat-simple可执行程序
./pacat-simple 飞鸟.wav
(注意:有一个命令行参数,是音频文件名,上网搜索一个wav格式的音频文件,放在当前目录,然后执行。)
三、ALSA音频库
ALSA全称为:Advanced Linux Sound Architecture
一个网址为: http://www.alsa-project.org/main/index.php/Main_Page
❿ linux下,非root用户有声音,而root用户没有声音怎么办
因是使用root登录后pulseaudio没有启动。将root加到pulse-access组:sudo usermod -a -G pulse-access root然后修改配置文件/etc/default/pulseaudio,将PULSEAUDIO_SYSTEM_START设为1,重启后就能版听到登录的声音了。权可是,这样默认用户登录的时候就没有声音了,可以通过将默认用户添加到pulse-access组的方式,使得所有的用户都有声音。