1. Mayavi:https://docs.enthought.com/mayavi/mayavi/

适合渲染各种和图形有关的数据。在大批量处理数据时,一般不希望对每一个渲染好的对象都将其显示出来,(如1万个图形显示一万次窗口,电脑会先疯掉的)

则可以设置offscreen,不让图形渲染的窗口显示出来。详见https://docs.enthought.com/mayavi/mayavi/tips.html#off-screen-rendering

mayavi的mlab,会在几乎每一次调用(包括import时)都创建一个python“图形化”进程,即使使用了offscreen也会创建“图形化”进程,只不过这时没有显示出窗口,但这个进程的属性仍然是“图形化”属性,它会试图调用和OpenGL相关的一个包来进行渲染(虽然不显示出来,但是例如投影射线等操作还是需要进行渲染计算的)

本来是在mac上运行程序的,没什么问题就是特别烫。后来放在服务器1上面,但是一直显示"cannot create glx context"

这是由于服务器1上的显卡适用于科学计算,不适用于图形渲染

于是选择了服务器2,上面的GPU是游戏显卡,全能型选手。于是就遇到了新的坑

2. X11与docker

服务器2是用docker进行管理的,大家都有sudo权限,但相互不影响,每个人都是在一个独立的容器里运行的。

此时试图运行offscreen后的渲染程序,报错xhost: unable to open display ":0.0"

这是由于目前试图在display 0 上显示东西,但是display 0并不是我们当前用户的权限能够调用的

于是果断切换到root用户(输入su,然后输密码即可),并切换到相应的python虚拟环境中运行渲染程序

然后有新的报错:

X11 forwarding request failed on channel 0

解决方法:https://www.cyberciti.biz/faq/how-to-fix-x11-forwarding-request-failed-on-channel-0/

注意ubuntu系统中不是sshd,是ssh,所以在修改完配置文件后,应该输入

/etc/init.d/ssh reload

否则会显示找不到sshd这个文件

如果遇到以下问题,说明当前用户下没有X授权文件(即.Xauthority),

: “X11 proxy: wrong authorisation protocol attempted"

从你的用户目录拷贝到root目录就行了

参考:https://superuser.com/questions/610084/putty-x11-proxy-wrong-authorisation-protocol-attempted

比如

cp /home/name/.Xauthority /root/

总的来说,遇到问题多用英文去搜索,并且要耐下性子去看英文的长篇回答,

不要迷信权威,要多去调查,减少信息不对称

mayavi与X11的一些坑总结的更多相关文章

  1. Ubuntu16.04安装NVIDIA驱动时的一些坑与解决方案

    这几天在新购置的笔记本上部署工作环境,在安装NVIDIA驱动的时候遇到了不少坑,重装了很多次,在Ubuntu论坛以及其他资料源看了很多大牛的分析,最终终于解决了一个又一个问题,过程比较艰辛,所以决定写 ...

  2. mayavi安装

    Mayavi是python的一个包,提供方便的可视化方案.目前(20150809)Mayavi还没有py3的支持,以下安装环境在python 2.7.10下进行 安装Mayavi: 1. 通过pip ...

  3. JAVA实用案例之文件导出(JasperReport踩坑实录)

    写在最前面 想想来新公司也快五个月了,恍惚一瞬间. 翻了翻博客,因为太忙,也有将近五个多月没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六 ...

  4. 写给正在入坑linux系统的伙伴

    光阴似箭,时光如梭,转年出来工作已经3年了.从一个职场新人慢慢熟悉职场的工作方式,适应职场工作的环境,学习了很多知识,也总结了很多经验.现在的目标就是一步一个脚印,慢慢打磨自己,希望早日成为取代其他人 ...

  5. JasperReport报表导出踩坑实录

    写在最前面 翻了翻博客,因为太忙,已经好久没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六月份的时候写过一篇利用poi文件导入导出的小De ...

  6. Mediapipe 在RK3399PRO上的初探(一)(编译、运行CPU和GPU Demo, RK OpenglES 填坑,编译bazel)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  7. 【填坑】树莓派4B上运行Bullseye版本系统,不能登录xrdp的问题~~

    以前使用 buster,安装xrdp后 pi用户xrdp登录正常, 可自从使用了 bullseye系统,pi登录xrdp后,出现黑屏不能登录现象. 网上搜寻解决方案,一种方法是: 登录树莓派后,打开这 ...

  8. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  9. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

随机推荐

  1. Json 数组传值

    1. var _content = {}; _content[_title] = _oldValue + ' -- > ' + statusVal; 2. var eventData = { T ...

  2. 笔记《JavaScript 权威指南》(第6版) 系统理论知识概要

    主要内容概要 [JavaScript语言核心]词法结构,类型.值和变量,表达式和运算符,语句,对象,数组,函数,类和模块,正则表达式的模式匹配,JavaScript的子集和扩展,服务器端JavaScr ...

  3. 接口压力测试--Jmeter

    1.Jmeter简介 JMeter就是一个测试工具,相比于LoadRunner等测试工具,此工具免费,且比较好用,但是前提当然是安装Java环境: JMeter可以做 (1)压力测试及性能测试: (2 ...

  4. PHP7.X连接SQLSERVER数据库(CENTOS7)

    加入微软的源 curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlreleas ...

  5. flask 第七章 简陋版智能玩具 +MongoDB初识和基本操作

    1.简陋版web智能玩具 FAQ.py文件 import os from aip import AipSpeech, AipNlp from uuid import uuid4 "" ...

  6. [转] How Bill Gates read books

    Bill Gates is one of the most famous figures in the business world. He is one of the richest men in ...

  7. DNS区域传送、子域授权

    前言 DNS服务器搭建参考上一篇: DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向.反向解析了.从服务器向主服务器更新查询数据,保证数据一致性,此为区 ...

  8. python-之-深浅拷贝一

    深浅拷贝 一.数据为不可变类型 (str.int.bool) import copy v1 = "abc" v2 = copy.copy(v1) v3 = copy.deepcop ...

  9. dapper.simplecurd

    [Table("Users")]//真实表名 publicclass User { [Key] publicint UserId { get; set; } [Column(&qu ...

  10. win10安装pytorch

    安装gpu版本的pytorch需要三个东西:pytorch(torchvision).cuda.cudnn 相信大家都安装过了anaconda,就不介绍anaconda的安装了 1.安装cuda:从官 ...