在最小的Centos7 + Xvfb中,chrome失败并出现“非法指令”

时间:2017-01-13 18:52:47

标签: google-chrome docker virtualbox centos7 xvfb

Chrome曾经在无头的centos 7上工作,但现在似乎无法启动。吐出“非法指令”作为唯一的输出。适用于最小的centos 7 virtualbox和https://hub.docker.com/_/centos/ docker镜像。是否有解决方法或其他方法可以使此设置生效?

重现的步骤: 从这里创建一个最小的centos 7虚拟框 http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso 创建一个非root用户,我将其命名为“st_user”

以root身份执行:

%>yum install -y epel-release
%>yum install -y xorg-x11-server-Xvfb
%>cat << EOF > /etc/yum.repos.d/google-chrome.repo
[google-chrome]
name=google-chrome - \$basearch
baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
EOF
%>yum install -y google-chrome-stable

%>nohup /usr/bin/Xvfb :99 -ac -screen 0 1280x1024x24 &
%>su - st_user
%>export DISPLAY=:99
%>/bin/google-chrome
Xlib:  extension "RANDR" missing on display ":99".
Xlib:  extension "RANDR" missing on display ":99".
Illegal instruction

没有参数组合,例如--no-sandbox, - disable-gpu或--user-data可以改善这种情况。

我的问题是我如何使用Xvfb在最小的数字7中使用chrome。是否有解决方法或其他我可以做的事情?

1 个答案:

答案 0 :(得分:8)

您是否安装了字体?

var tabs= [

{ "id": 1, "Name": "Top","Paris":1,"London":1, "Rome":1},
{ "id": 2, "Name": "Best","Paris":1,"London":0,"Rome":0},
{ "id": 3, "Name": "Cheap","Paris":0,"London":1,"Rome":0}

];

var getElementsWith=function(array,name){
  var myElements=[];
  array.forEach(function(tab){
    if(tab[name]===1)
      myElements.push(tab);
  });
  return myElements;
  };

console.log(getElementsWith(tabs,"Paris")); 

https://www.centos.org/forums/viewtopic.php?f=48&t=60908&sid=6e5b5c743f897b9b300fe69bbae36337&start=10#p257122