zoukankan      html  css  js  c++  java
  • linux上chrome、vlc等程序root不能运行的解决办法

    which vlc 或者 whereis vlc

    输入/geteuid,输入i进入输入模式,将geteuid改成getppid,然后ESC,输入wq,保存退出,这样程序root用户就可以运行了。

    chrome、vlc等程序使root用户无法使用的原理是:它获取程序的所有者,如果它是root用户,就让它不能运行。

    程序中用到的函数是geteuid()。geteuid就是get essensial user id,获取有效用户id。每一个用户都有一个id,root用户id为0,普通用户id为1000以上。

    知道原理后就可以得出解决办法了,就是将geteuid替换成getppid。getppid是获取此进程的父进程id,由于它是独立进程,它的父进程就是init进程(启动后的第一个进程),进程id为1,永远不可能为0。

    解决方案一:

    找到google-chrome 的快捷方式 右击查看属性 找到命令 即得到google-chrome 的地址。

    如:/usr/bin/google-chrome

    打开终端. 输入命令:/usr/bin/google-chrome %U -user-data-dir

    OK 即可以搞定..

    解决方案二:

    编辑 /usr/share/applications/google-chrome.desktop 文件,找到 Exec 一行,将其值改为 /opt/google/chrome/google-chrome –user-data-dir=”/root/.config/google-chrome” 也应该是可以的。

    ...............................................................认真写每篇博客,如同我对待生活............................................................
  • 相关阅读:
    Java基础教程——Object类
    Java之从头开始编写简单课程信息管理系统
    动手动脑之文件流
    doc四则运算
    Java异常处理的方法
    动手动脑-异常处理
    动手动脑-Java的继承与多态
    跟踪某个类中创建对象的个数
    动手动脑--类与对象
    动手动脑
  • 原文地址:https://www.cnblogs.com/itholidaycn/p/6404664.html
Copyright © 2011-2022 走看看