Ubuntu Linux如何激发使用潜能

系统 Linux
我们都知道在Ubuntu Linux蓝牙功能十分好用,即插即用。但是要让你激发他更深层的潜力呢?下面就告诉大家如何把Ubuntu Linux 打造成一个蓝牙免提设备。

当你在电脑面前面对大量的线,各种的耳机线、鼠标键盘线、音箱线,繁乱的线会让你抓狂不已。这时候就你会想到蓝牙这个神奇的技术。Ubuntu Linux 的蓝牙支持相信很多同学都在使用吧,插上就用,连个手机传个文件啊什么的非常方便。

但是你有没有想过压榨出其更大的潜能呢?有没有想过坐到电脑前,打开蓝牙连上手机,戴上耳麦,直接就通过电脑来接打电话了呢?或者连上你的 iPod touch,音乐声就从电脑的音箱中飘出了呢?当然,Windows 系统下有诸如 IVT 之类的商业驱动和配套软件可以实现,而在 Linux 下呢?当然也是可以的,而且都是自由免费的哦!

下面就跟我来,压榨下 Ubuntu Linux 的潜能吧!我使用的是 Ubuntu 9.10,其他的版本没有测试过,大家可以自己试试。另外先说明一点,Ubuntu 自带的 gnome-bluetooth 工具不是很好用,而且后面设置蓝牙立体声支持的时候用 gnome-bluetooth 会非常的不方便,所以建议大家安装使用 Blueman 这个管理工具。当然不要在新立德中直接安装 Blueman,直接装的话它不会替换 gnome-bluetooth,结果两个冲突起来会很悲剧的…建议添加 Blueman 的PPA。

然后安装 Blueman 就好了,它会自动替换掉 gnome-bluetooth。然后建议也更新一下与蓝牙有关的所有软件包,经我测试,更新后的兼容性和性能都会更好一些。当然,如果你不想使用 Blueman,也是完全可以的,就是麻烦一些。后面我会详细说明。

另外如果你是外置的 USB 蓝牙适配器的话,插在电脑上开机可能会出现蓝牙管理器无法管理的情况,解决的办法就是拔了再插一下,或者终端中运行

 

  1. sudo /etc/init.d/bluetooth restart 

来重启蓝牙服务即可。

首先让我们来看如何把 Ubuntu Linux 打造成一个蓝牙免提设备。这里就要请出我们的主角 - HFP for Linux 了。

HFP for Linux 是一个在 Linux 下提供蓝牙 HFP(就是免提支持)的工具。看一眼主页中的图片大家就明白是怎么回事了。

 

图片1


下面我们就来编译安装。首先安装编译时需要的一些包

 

  1. sudo apt-get install subversion g++ autoconf libtool 
    libspeexdsp-dev libasound2-dev libbluetooth-dev libaudiofile-dev 
    libdbus-1-dev 

然后用 svn 获得源代码

 

  1. svn co https://nohands.svn.sourceforge.net/svnroot/nohands/trunk 

进入源代码的文件夹下,就可以开始编译安装了。

  1. ./autogen.sh  
  2. ./configure  
  3. make  
  4. sudo make install 


编译安装完成。然后运行 hfconsole,一个拨号盘的界面就出现了。我们在里面配对好手机,等界面上的信号和电量指示出现,就成功了!

图片2

拨个电话试试?怎么,电脑的喇叭中没有声音?别急,点右下角的设置按钮,Audio device 选项卡,Driver 中换 OSS 试试。可以点下面的 Feedback test,如果能传出话筒的声音,那就正常了。如果 OSS 没有弹出什么错误提示,但是仍然没有声音怎么办啊?别急,首先到声音设定程序中去,确定你的话筒设置好了么?打开录音机程序,录一段试试看?也可能是话筒音量太小了,运行 alsamixer,把 mic boost 调大些。至于 alsamixer 可能无法保存音量设置,下次开机就没了,解决方法大家就自己 Google 下吧。不知道为什么,我这儿只有 OSS 能用。但是 OSS 是独占声卡的,所以,用的时候,把你的那些音乐播放器什么的都退了吧……或者你也可以尝试用 aoss 包裹一下,我就不多废话了。#p#

如果一切正常的话,我们就可以把手机扔一边,用电脑来打电话了!如果你是强人,可以试试利用平板电脑啊上网本啊高级MP4啊什么的打造一个自己的车载蓝牙免提系统。折腾 Linux 真是其乐无穷啊~

接下来我们来开启 Ubuntu Linux 中的 A2DP audio source stream 支持。就是把电脑打造成一个立体声蓝牙耳机。

这里有一个详细的英文说明,洋文好且翻墙能力高的同学可以直接去看看~

进入正题。首先要确定你的系统中有 pulseaudio-module-bluetooth 模块,没有的话自行 apt-get 新立得安装。然后加载模块

pactl load-module module-bluetooth-discover
Ubuntu 9.10 中好像默认就有这个模块,而且是自动加载的,这部分就略过吧。

然后修改 /etc/bluetooth/audio.conf 文件,打开 audio source 支持。在

 

  1. # If we want to disable support for specific services  
  2. # Defaults to supporting all implemented services  
  3. #Disable=Control,Source 

这几行字下,加入一行

 

  1. Enable=Source 

保存,关闭。重启蓝牙服务,就是 sudo /etc/init.d/bluetooth restart 了。

然后,如果你使用的是 Blueman 的话,效果就立竿见影了。重新搜索、配对一下你的手机啊什么的,如果你的手机支持蓝牙立体声耳机的话,在你的设备列表上点右键,你就会看到 Connect to 下有 Audio source 的字样。点上去连接,用手机放首音乐,怎么样,电脑的喇叭响起来了吧~下面是连接到我的 iPod touch 上的效果。

图片3


图片4


但是如果你实在不想用 Blueman,执意要用 Ubuntu Linux 默认的蓝牙管理器呢?好吧,也不是没有办法……首先你可能需要 d-feet 这个 d-bus 调试工具。apt-get 或新立得安装。

在蓝牙管理器中重新配对好你的设备,运行 d-feet,左侧栏中点 org.bluez,右侧找到和你的蓝牙设备 mac 地址对应的项目,展开 org.bluez.AudioSource / Methods 项,双击 Connect()。


接下来出现一个框,点 execute。你可能需要多试几次。然后打开声音设置,看硬件一栏,是不是有个 A2DP 设备出来了?

图片5

 

图片6

蓝牙 A2DP 流已经成功输入到 Pulseaudio 中了,接下来你可以把这个选作输入设备,然后录一段音看看…但是如何让声音直接从喇叭中播放出来呢?让你用 Blueman 来着,要不然会有这么麻烦么…

打开 pacmd,进入 pulseaudio 控制台。用命令 list-sources 找到你蓝牙设备对应的输入源,注意 mac 地址,记下名字。然后用 list-sinks 找出你需要的输出设备的名字。一般情况下只有一个,就是它了。然后用命令 load-module module-loopback source=<输入源的名字> sink=<输出设备的名字> 将其连接,这回出声了吧!费这么大劲,还是赶快换 Blueman 吧,都自动帮你做好了!

另外说一点,蓝牙立体声的音质可能不像你想象的那么好,有点破音…可能是因为我用的是几十块的杂牌蓝牙适配器的原因吧。另外,我的电脑的蓝牙立体声和黑莓手机的兼容极差,完全无法使用,不知道为什么…

怎么样,一个小小的蓝牙,我们就压榨出了 Ubuntu Linux这么多的潜能。还有,如果你是强人的话,可以试试用平板电脑啊上网本啊高级 MP4 啊什么的打造一个自己的蓝牙车载娱乐系统。怎么样,折腾 Linux 是不是其乐无穷啊~

【编辑推荐】

  1. 简单介绍ubuntu Linux软件开发
  2. 简单叙述Ubuntu Linux系统的分区方案
  3. Ubuntu Linux新手当自强
  4. 简单讲解Ubuntu Linux移动根分区
  5. 教你如何将Ubuntu Linux系统放到你的移动硬盘
责任编辑:张浩 来源: 互联网
相关推荐

2011-09-08 11:07:25

Ubuntu蓝牙

2018-04-27 14:01:30

信息

2020-07-28 16:37:01

华为丁耘网络

2022-04-01 10:57:20

Qlik数据素养智能化

2010-01-19 09:44:55

戴尔高效企业

2014-01-15 10:06:43

云计算

2024-09-29 18:41:58

2012-12-13 11:54:16

戴尔

2017-08-21 14:39:59

华为

2018-08-31 11:01:35

2018-08-16 13:44:42

2020-06-06 21:40:27

华为

2018-10-09 08:30:55

UbuntuLinuxRAR文件

2019-11-28 10:15:35

TimeShiftUbuntuLinux

2018-04-09 16:31:43

2009-07-15 17:52:23

sqlite jdbc
点赞
收藏

51CTO技术栈公众号