解决CentOS7.4KDE桌面或者gnome桌面安装VLC及声音问题

时间:2024-03-06 12:58:39

一、安装VLC

1.下载源

https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/e/epel-release-7-11.noarch.rpm

http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

这里我在后来装的时候,下载的是 nux-dextop-release-0-5.el7.nux.noarch.rpm 

导致yum安装的时候出现报错:

Error: Package: 1:vlc-core-2.2.5.1-2.el7.nux.x86_64 (nux-dextop)
           Requires: libx264.so.142()(64bit)
           Available: x264-libs-0.142-4.20140423gite260ea5.el7.nux.x86_64 (nux-dextop)
               libx264.so.142()(64bit)
           Available: x264-libs-0.142-7.20140728gitaf8e768.el7.nux.x86_64 (nux-dextop)
               libx264.so.142()(64bit)
           Available: x264-libs-0.142-11.20141221git6a301b6.el7.nux.x86_64 (nux-dextop)
               libx264.so.142()(64bit)
           Installing: x264-libs-0.148-11.20160614gita5e06b9.el7.x86_64 (rpmfusion-free-updates)
              ~libx264.so.148()(64bit)

后来我关闭了nux-desktop源继续装就没有问题了

 

2.安装源

yum -y localinstall epel-release-7-11.noarch.rpm

yum -y localinstall  nux-dextop-release-0-1.el7.nux.noarch.rpm

 

3.安装vlc

yum -y install vlc

 

二、解决root用户无法打开VLC

它获取程序的所有者,如果它是root用户,就让它不能运行。
程序中用到的函数是geteuid()。geteuid就是get essensial user id,获取有效用户id。每一个用户都有一个id,root用户id为0,普通用户id为1000以上。
知道原理后就可以得出解决办法了,就是将geteuid替换成getppid。getppid是获取此进程的父进程id,由于它是独立进程,它的父进程就是init进程(启动后的第一个进程),进程id为1,永远不可能为0。

 

1.首先查询程序的位置
which vlc
/usr/bin/vlc

2.修改
vim /usr/bin/vlc #显示乱码,但是不用怕,搜geteuid就行(只有一个)
输入/geteuid,输入i进入输入模式,将geteuid改成getppid,然后ESC,输入wq,保存退出

 

三、解决CentsOS7.4kde桌面插入耳机vlc播放器没有声音问题

1.确认系统是否有声音,如果系统没有声音请打开Phonon进行设置

 

2.确认vlc的音频设置是正确的

 "音频"-->"音频设备"--->"内置设备 XXXX"(选择你上面设置的设备)

 

GNOME桌面

1.安装pavucontrol

yum -y install pavucontrol.x86_64

 

2.运行

cd /usr/bin/

./pavucontrol

 

3.设置