开启X11Forward,飞速打开fastqc的html质控文件
注:本文章图片显示异常,在微信公众号平台可以看到有图片的完整版:
https://mp.weixin.qq.com/s/RhrGaap22lr2XYA4waV7nA
写在前面:
零基础自学生信,小白经验分享,意在为有同样需要的小伙伴们少踩几个坑儿,更快到达彼岸~
前期的工作也有文字记录,后面有时间了再整理发出来(先发这篇文章的原因是我觉得troubleshooting的过程比单纯按教程一步一步顺利走下来的过程更有趣更值得反复玩味)
自学生信起步阶段,有诸多不成熟之处,还望这篇小小的分享若有幸被有经验的大神看到,但求不吝赐教~_
前情提要
前期工作
- 下载了sra数据,转化为fastq文件
- 现对fastq文件进行fastqc质控,质控完毕后生成html文件
当前步骤
- 打开html文件查看质控结果
操作目的
- 打开html文件查看质控结果的方法有很多,直接调用firefox打开html文件我认为是相比于其他方法,较快的一种(as far as I know)。所以我想使用这种方法来打开html文件,以节省以后多次打开质控结果html文件的时间,但是在我的服务器上直接调用firefox无法打开,显示报错(报错代码如下↓)。所以此分享详细记录并且简化总结了设置firefox打开质控文件html的过程,本人在这个过程中走了一些弯路,查了不少资料,现放出这个经验分享,以使大家少采坑。
报错代码
$ firefox
Error: GDK_BACKEND does not match available displays
背景知识
- 打开html文件的方法
- 将html文件从服务器下载到本地电脑再在浏览器打开
- windows用户:有些shell可视化软件可以将html文件直接打开
- 使用firefox命令直接在服务器打开html文件(macos用户需搭配xquartz软件一起使用)
- firefox打开html文件属于图形界面应用,需开启X11 forward设置才能实现服务器的远端可视化。因此设置firefox打开html的过程本质上是设置X11 forward的过程
- 这当中涉及到的一些linux系统基本操作的知识,就不介绍了,用到了可以现查。
总结经验
-
新手上路遇到的很多操作上的bug,多数是权限问题
-
权限意识很重要,就像《鸟哥的Linux私房菜》中所说,权限意识要贯穿始终!
-
有些过程看似弯路,但其实只要能走下来,就收获了很多直路收获不到的经验与知识。
参考指路
https://zhuanlan.zhihu.com/p/265207166
以下是操作步骤~分为两个版本
“一步到位版”为去除了各种试错步骤、总结后的版本
“打怪过程版”为与bug斗智斗勇的详细打怪过程~ 有兴趣的小伙伴可以看看~
一步到位版
-
在终端(没有登录ssh服务器),修改ssh设置文件
$ cd /etc/ssh/sshd_config $ sudo vim sshd_config # 必须使用sudo权限,否则后续保存退出时会出现错误,很麻烦。所以从一开始就sudo进入vim编辑器
-
进入vim编辑页面后,按下s键,进入删除并插入模式
找到#X Forwarding no 一行, 改为 yes,并去掉开头的#符号,改为 X11Forwarding yes
按esc退出当前模式,输入:wq保存退出vim编辑器
-
下载XQuartz软件,打开官网下载到电脑
xquartz官网:https://www.xquartz.org/
-
在终端,进入vim编辑器编辑bash_profile页面,按下i按键进入插入模式,在最后面一行输入环境变量,输入:export DISPLAY=:0 ,然后按esc退出、:wq保存退出
$ vim ~/.bash_profile # 进入vim编辑器
按下i按键
在最下面一行输入环境变量:export DISPLAY=:0
按esc退出模式
输入 :wq保存退出编辑器
使刚才的永久环境变量生效(或者退出终端重新打开也可以)
$ source ~/ .bash_profile
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-alPZNii0-1621432336101)(/Users/academicdun/Library/Application Support/typora-user-images/image-20210519152957694.png)]
-
重新 ssh -Y user@IP 进入服务器,运动firefox,发现成功!会弹出一个xquartz软件内部的网页
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fc6G7IDL-1621432336106)(/Users/academicdun/Library/Application Support/typora-user-images/image-20210519153224426.png)]
-
我们来看一下xquartz软件页面,发现可能右上角有些乱码,不过没关系,可能是网络原因,这个不重要,能看就行了
备注:我打开这个软件时,若用鼠标来回滑动,画面会有卡顿和延迟,所以建议直接点击左边的项目栏,可以直接到相应项目,避免卡顿
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M7JB1DKd-1621432336110)(/Users/academicdun/Library/Application Support/typora-user-images/image-20210519153521858.png)]
由此,就可以享受通过调用firefox来直接打开html质控文件的方便与快捷啦~!_
打怪过程版
firefox调用失败后,经分析,可能是没有开启远程可视化选项,需在登录ssh同时开启-X命令
ssh -X user@IP
报错。
经分析,需修改ssh configure设置文件
在不登录ssh的情况下,修改ssh设置文件
-
首先用less命令打开设置文件:less /etc/ssh/sshd_config
-
因为我不会用less命令(并且目前暂时也不想去费时间查),所以改用vim编辑器修改ssh设置文件(也是可以的)
-
进入vim编辑页面后,按下s键,进入删除并插入模式
找到X Forwarding no 一行, 改为 yes
按esc退出编辑模式,输入:wq发现报错↓,经查找,原因是这是只读文件,需重新覆盖
需在:wq后加上!才可以保存(原理是在原文件基础上覆盖)
按下enter回车后,显示的是改成了yes,但是!(但是看下一步骤)
但是重新进入这个ssh 设置文件,并没有改变,依然是no
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S0SrEOjI-1621432336116)(/Users/academicdun/Library/Application Support/typora-user-images/image-20210518211740598.png)]
查找原因,原来是需要把注释文件(即每行开头的 # 去掉)
依然esc键后输入:wq!
按下enter回车,再按下:q!退出
重进进入vim编辑器这个文件,依然是no
经分析,可能依然卡在了权限这里。所以要查看一下权限问题
进入/etc/ssh 这个目录,ls -lh查看
发现只有read权限
输入groups命令,看自己是属于哪个群组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-glSQvqft-1621432336119)(/Users/academicdun/Library/Application Support/typora-user-images/image-20210518212832199.png)]
-
因为是自己的电脑(而不是在服务器上),所以可以直接sudo,解决权限问题
这次可以直接:wq保存了(不需要加个!强制override了),退出后重新vim进入文件,发现依然是yes,说明修改成功了
登录ssh并开启-X
ssh -X user@IP
注:后来才知道,macos上不是-X,而是-Y
-
用firefox打开html,发现还是报错
$ firefox Error: GDK_BACKEND does not match available displays
-
查一下firefox在哪里
which firefox /usr/bin/firefox
-
验证一下,发现确实是在/usr/bin里
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d3aepXta-1621432336135)(/Users/academicdun/Library/Application Support/typora-user-images/image-20210519163135070.png)]
-
在当前目录下直接使用firefox,发现还是无法调用
$ firefox Error: GDK_BACKEND does not match available displays
-
尝试全路径调用firefox,还是不行
$ /usr/bin/firefox SRR7722941_fastqc.html Error: GDK_BACKEND does not match available displays
-
于是尝试在服务器端打开ssh设置文件,用sudo vim,没有权限
user不在sudoers文件中,此事将被报告。
-
用vim,仍打不开
看一下服务器上的权限
$ cd /etc/ssh$ ls$ ls -lh
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MULd0Bm3-1621432336136)(/Users/academicdun/Library/Application Support/typora-user-images/image-20210519163404783.png)]
-
为了排除是服务器权限问题还是我自己电脑设置的问题,所以我去找了师姐,我们共用同一个服务器,她就可以直接调用firefox,我去看了她服务器etc/ssh目录下的权限,发现我俩权限是一模一样的,而她可以调用,但我不可以,所以排除服务器权限的问题。她的电脑是windows而我的是mac,所以猜测是mac电脑设置的问题。
-
经分析,对于mac电脑用户来说,可能还需额外下载安装一个软件:XQuartz
我先用conda install xquartz 尝试安装,结果显示镜像没有相映资源,我懒得重新设置镜像链接了,用brew cask install xquartz,结果我没有安装brew,所以我决定用最原始的方法——从xquartz官网上找到下载链接,用wget下载,但是github当时抽风了打不开了,所以我决定下载到电脑上再上传到服务器(唉)
xquartz官网:https://www.xquartz.org/
(感受一下我此刻内心的悲伤……)
-
下载并安装完毕后,打开终端,输入环境变量
$ export DISPLAY=:0
需注意,这是暂时的环境变量,退出终端后下次再打开就没有了,我们现在只是想试一下能不能用,如果可以用则后续设置永久环境变量
-
在xquartz软件打开的情况下,登录ssh:ssh -Y user@IP
-
进入服务器后,调用firefox,发现可以弹出页面,是在xquartz软件内部打开的firefox网页
但是今天这个xquartz软件是怎么了,打开以后很卡,而且总是自己晃动,先不管了
-
退出终端后再次进入终端和服务器,firefox就又无法调用了,所以设置永久环境变量
-
在终端,进入vim编辑器编辑bash_profile页面,按下i按键进入插入模式,在最后面一行输入环境变量,输入:export DISPLAY=:0 ,然后按esc退出、:wq保存退出
使刚才的永久环境变量生效(或者退出终端重新打开也可以):source ~/ .bash_profile
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IM3CjUby-1621432336137)(/Users/academicdun/Library/Application Support/typora-user-images/image-20210519152957694.png)]
-
重新 ssh -Y user@IP 进入服务器,运动firefox,发现成功!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DOqNKJwL-1621432336137)(/Users/academicdun/Library/Application Support/typora-user-images/image-20210519153224426.png)]
-
我们来看一下xquartz软件页面,发现可能右上角有些乱码,不过没关系,可能是网络原因,这个不重要,能看就行了
备注:我打开这个软件时,若用鼠标来回滑动,画面会有卡顿和延迟,所以建议直接点击左边的项目栏,可以直接到相应项目,避免卡顿
由此,就可以享受通过调用firefox来直接打开html质控文件的方便与快捷啦~!_
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34654.html