Linux笔记之xhost +和docker的关系以及GDK_SCALE和GDK_DPI_SCALE详解

时间:2024-02-11 22:34:23 标签:  详解  

Linux笔记之xhost +和docker的关系以及GDK_SCALE和GDK_DPI_SCALE详解

——2024-02-11

code review!

文章目录

  • Linux笔记之xhost +和docker的关系以及GDK_SCALE和GDK_DPI_SCALE详解
      • `xhost +` 的作用
      • `xhost` 与 Docker 的关系
    • -e GDK_SCALE 和 -e GDK_DPI_SCALE详解
      • `GDK_SCALE`
      • `GDK_DPI_SCALE`

xhost 是一个用来控制 X 服务器图形界面访问权限的工具。X 服务器是跑在类Unix操作系统上的软件,它管理和提供图形界面服务。 xhost 允许用户指定哪些用户和主机可以显示图形界面上的窗口。

xhost + 的作用

使用 xhost + 命令可以让任何用户从任何主机连接到 X 服务器。这个命令会关闭 X 服务器的访问控制,这意味着任何人都没有限制地访问你的 X 服务器。出于安全考虑,这通常不是推荐的操作,因为它会使你的 X 会话对任何人开放,并可能导致安全风险。

正确的用法通常是使用 xhost 加上特定的用户名或主机名来允许访问,例如:

xhost +SI:localuser:username

这条命令将允许本地用户 username 访问 X 服务器。

或者只允许特定的远程主机访问:

xhost +hostname

这条命令允许来自 hostname 的用户访问 X 服务器。

xhost 与 Docker 的关系

在使用 Docker 容器进行图形界面应用的开发时,有时需要将容器内运行的图形应用显示到宿主机的屏幕上。Docker 容器通常是隔离的,并没有直接访问宿主机的 X 服务器的权限。

要实现这一点,你需要在宿主机上允许容器访问 X 服务器。一个常见的做法是在宿主机上运行 xhost + 来禁用访问控制,然后在启动 Docker 容器时,将 X 服务器的 Unix 套接字共享给容器,这通常通过挂载一个卷来实现:

docker run -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:rw my_docker_image

在这个命令中:

  • -e DISPLAY 设置环境变量 DISPLAY,让容器知道如何连接 X 服务器。
  • -v /tmp/.X11-unix:/tmp/.X11-unix:rw 将宿主机的 X 服务器 Unix 套接字目录挂载到容器中,这样容器就可以通过这个套接字与宿主机的 X 服务器通信。

为了安全起见,在完成图形界面应用的运行之后,应该通过运行 xhost - 命令来重新启用访问控制。

要注意的是,这种方法存在安全隐患,因为它允许任何应用接入你的 X 服务器。更安全的方法是只授权特定的 Docker 容器访问 X 服务器,而不是使用 xhost + 完全关闭访问控制。在 Docker 的场景下,可以通过设置特定的环境变量或者使用更细粒度的访问控制来实现这一点。

-e GDK_SCALE 和 -e GDK_DPI_SCALE详解

在使用 GTK+ (GIMP Toolkit) 应用程序时,环境变量 GDK_SCALEGDK_DPI_SCALE 可以用来调整应用程序界面的缩放级别,这在高分辨率显示屏(如 HiDPI 或 4K 显示器)上特别有用。这两个环境变量通常在启动 GTK+ 应用程序时设置,以确保应用程序的用户界面元素以合适的大小和清晰度显示。

GDK_SCALE

GDK_SCALE 环境变量用于整数缩放。它会按照指定的整数比例放大 GTK+ 程序的所有视觉元素(如窗口、按钮和文字)。例如,如果你在一个高 DPI 的显示器上发现应用程序的界面太小了,你可以通过设置 GDK_SCALE2 来使得所有的 UI 元素放大两倍。

GDK_SCALE=2 my-gtk-application

或者在使用 docker run 时:

docker run -e GDK_SCALE=2 my_docker_image

GDK_DPI_SCALE

GDK_DPI_SCALE 环境变量用于微调 DPI 缩放。不同于 GDK_SCALE 的整数缩放,GDK_DPI_SCALE 可以接受浮点数值,允许更细粒度的缩放控制。这对于那些整数缩放不够精细,或者用户想要稍微调整界面大小的情况非常有用。

比如,如果你想要让界面元素比正常大一点,但是又不想翻倍,你可以设置一个介于 1 到 2 之间的值:

GDK_DPI_SCALE=1.5 my-gtk-application

或者在使用 docker run 时:

docker run -e GDK_DPI_SCALE=1.5 my_docker_image

请注意,不是所有的 GTK+ 应用都会响应 GDK_SCALEGDK_DPI_SCALE 环境变量。应用程序需要使用相应的 GTK+ 版本并且开发者需要实现了适当的支持。此外,这两个变量可能会与其他缩放设置相互作用,例如 GNOME 的缩放设置,因此你可能需要进行一些尝试,以找到最适合你显示器和应用程序的设置。

在 Docker 环境中使用这些变量时,需要确保它们通过 -e 选项传递给容器,这样在容器内运行的应用程序就可以识别并应用这些缩放设置。
在这里插入图片描述

来源:分享自作者个人站点/博客

智能推荐

Linux笔记之xhost +和docker的关系以及GDK_SCALE和GDK_DPI_SCALE详解 ——2024-02-11 code review!

标签:详解  

1、Linux简介1.1、什么是LinuxLinux是一套免费使用和自由传播的操作系统。1.2、学习Linux的原因1.2.1、企业

标签:简介  linux  

Linux笔记之bash脚本中的-e、&和&&

标签:脚本  

Docker简介和安装Docker是什么Docker 是一个应用打包、分发、部署的工具你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。跟普通虚拟机的对比特性普通虚拟机Docker跨平台通常只能在桌面级系统运行,例如 Win

标签:系统  docker  windows  linux  

docker 部署showdoc准备工作:切换为root用户su root更换为阿里云yum源curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo更新yum源s

标签:网关  docker  showdoc  linux  

目录 @Aspect的使用 配置 作用

标签:注解  

C++笔记之作用域解析符::和命名空间、作用域的关系 —— 杭州 2024-01-26

标签:作用  

OpenCV笔记之图像处理中遮罩和掩模的关系

标签:图像处理  

Linux笔记之bash和expect脚本中的 和 和

标签:脚本  

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助for in 和 for of 相对于大家肯定都不陌生,都是用来遍历属性的没错。那么先看下面的一个例子:

标签:详解  顺序  区别  

本文于2017年上半年完成,发布在个人博客网站上。 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。最近由于工作关系,接触到了docker技术。为了对docker有更多的了解,于是花时间在家里的Windows 10机器上准备了docker的运行环境,方便在业余时间学习新技术。安装过程比较简单:在Windows 10环境下安装ubuntu,现在最新的版本为16.10版本,中文官方网站的下载页面链接。关于在Windows 10环境下安装ubuntu,网上的资源非常多,可以直接上网搜索。在ubuntu 16.10下安装docker-ce。过程比较简单,主要是参考文章ubuntu1

标签:笔记  docker  

Linux文件系统和磁盘管理 文章目录 Linux文件系统和磁盘管理文件系统资源虚拟化文件系统的概念文件系统的类型

标签:文件系统  

Contracts Contracts其实就是倡导面向接口编程,来达到解耦的目的。而这些通用的接口已经由Laravel为你设计好了。就是这些Contracts.那么Laravel如何知道我们需要使用哪个实现呢?在Laravel默认的Contracts绑定中,在Illuminate/Foundation/Application.php有这样的定义:这就是绑定了默认的接口实现./** * Register the core class aliases

标签:详解  Laravel  Contracts  Facades  

一、元素类型   css标准文档流:默认的网页从左到右,从上到下的排列方式显示出网页效果 类型:   1.块级元素:(div,p,table……)     a.独占一行     b.可以设置宽度和高度     c.可以设置左右居中(整个块的位置),根据左右外边距进行设置(margin:auto/align:center)   2.行内元素:(a,span,label……)     a.默认排在一行,除非被挤下去     b.不能设置宽高(大小只由内容决定)

标签:布局  元素  笔记  html  

前言想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过top命令查看进程占用了多少内存。这里我们可以看到VIRT、RES和SHR三个重要的指标,他们分别代表什么意思呢?这是本文需要跟大家一起探讨的问题。当然如果更加深入一点,你可能会问进程所占用的那些物理内存都用在了哪些地方?这时候top命令可能不能给到你你所想要的答案了,不过我们可以分析proc文件系统提供的smaps文件,这篇文章详尽地列

标签:关系  系统  res  virt  linux  

二、安装boost boost官网:boost官网 我下载的boost版本: windows:boost_1_84_0.ziplinux:boost_1_84_0.tar.gz  2.1 在windows中安装boost和测试  (1)在windows中,解压这个压缩包boost_1_84_0.zip,路径为:D:oo

标签:linux  

前言 软件测试和软件开发一样,都遵循软件工程原理,遵循管理学原理,测试专家通过实践总结出了很好很多的测试模型,这些模型将测试活动进行了抽象,明确了测试与开发之间的关系,是测试管理得的重要参考依据。 瀑布模型 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。

标签:软件  

什么是api网关 前面我们聊过sentinel,用来限流熔断和降级,如果你只有一个服务,用sentinel自然没有问题,但是如果是有多个服务,特别是微服务的兴起,那么每个服务都使

标签:网关  

consul的服务注册与发现 如果不知道consul的使用,可以点击上方链接,这是我写的关于consul的一篇文档。 upstream+consul实现负载均衡 我们知道,配置upst

标签:网关  

本文首发于公众号:Hunter后端原文链接:celery笔记三之task和task的调用这一篇笔记介绍 task 和 task 的调用。以下是本篇笔记目录:基础的 task 定义方式日志处理任务重试忽略任务运行结果task 的调用1、基础的 task 定义方式前面两篇笔记中介绍了最简单的定义方式,使用 @app.task 作为装饰器:

标签:笔记  Celery  Task  

Linux笔记之Docker进行镜像备份与迁移 ——2024-02-11

标签:镜像  

静态库和动态库的认识和使用 静态库和动态库的概述动静态库的实现静态库动态库库文件名称和引入库的名称

标签:静态  

一、模型坐标系和模型坐标 模型坐标系是用来描述模型内部构造的。它的原点是(0,0,0) 在模型坐标系下,定义的坐标,本文称之为模型坐标。当然你也可以有自己的命名。 物理建模的模型,由一个个小的三角形组成,每个三角形都有三个顶点组成。顶点的模型坐标是基于模型中心点的。中心点的坐标为(0,0,0)。 上图是个简单的正方形的模型&#xf

标签:坐标系  

一、静态库的封装 我们在学习C语言阶段其实就已经知道一个可执行程序的形成过程分为预处理、编译、汇编、链接这四个阶段,而且也知道我们程序中使用的各种库其实是在链接的阶段加载的。 可我们那时候并不知道库是怎么被加载的,或者库是怎么形成的,所以今天我们就要好好的来聊一下,库的形成。 1.1、库封装的本质 我们知道链接阶段其实是将形成可执行程序的各种.o目标文件连接起来形成可执行程序,但是对于一个库来说,可是如果一个可执行程序使用的很多函数分散在不同的.o文件中,那么这样一个一个的链接就显得很麻烦。 就例如我们

标签:静态  

Ubuntu 22.04系统pycharm以及annaconda的安装配置笔记以及问题集锦 pycharm安装 安装完之后桌面上并没有生成图标 后面每次启动pycharm都要到它的安装路径下的bin文件夹下,

标签:集锦  

猜你喜欢

本文首发于公众号:Hunter后端原文链接:Django笔记三十之log日志的记录详解这一节介绍在 Django 系统里使用 logging 记录日志以下是一个简单的 logging 模块示例,可以先预览一下,接下来会详细介绍各个模块的具体功能:LOGGING = { version: 1, disable_existing_loggers: False, formatters: { verbose: { format: %(l

标签:详解  笔记  日志  Django  Log  

1.基本概念 left join 是左连接,使用left join 连接两张表以后,会返回左表中的所有字段以及右表中所匹配的信息 right join 是右连接,使用right join 连接两张表以后,会返回右表中的所有字段以及左表中所匹配的信息 inner join 相当于 join,都是内连接,会返回左右表中所匹配的信息 2.实验 我创建了两张表 分别是 test1 和 test2 test1中字段如下

标签:区别  

本文作者: slience_me

标签:合集  

本文作者: slience_me

标签:合集  

Dynamics CRM在实施过程中会遇到很多多个实体关联的问题,这样可以实现多个实体的记录通过关联的字段实现数据的综合展示,在Sql Server里面叫做外键,在Dynamics CRM叫做关系。Dynamics CRM有三种实体间的关系。分别是1:N,N:1以及N:N1:N关系顾名思义1:N关系就是一对多关系,也可以理解为主从表关系。在CRM建立方式就是在子表建立一个与主表关联的外键字段,这个字段就是一个关联了主实体的LookUp的字段。建立好之后就完成了1:N关系的建立。1:N关系的应用场景1:N关系的应用场景一版有以下几种,主从表、字段映射、字段的

标签:实体  关系  系列之  Dynamics  CRM  

  fork在英文中是“分叉”的意思。为什么取这个名字呢?因为一个进程在运行中,如果使用了fork函数,就产生了另一个进程,于是进程就“分叉”了,所以这个名字取得很形象。下面就看看如何具体使用fork函数,这段程序演示了使用fork的基本框架。&nbsp;函数声明:&nbsp;pid_t&nbsp;fork();&nbsp;  fork函数用于产生一个新的进程,函数返回值pid_t是一个整数,在父进程中,返回值是子进程编号,在子进程中,返回值是0。&nbsp;#include <stdio.h>#include <sys/types.h>

标签:多线程  linux  Fork  

介绍java&#xff08;基于java11&#xff09;中所有关键字&#xff0c;以及主要重要的关键字详解。 1 Java 11中的关键字&#xff1a; 1.1 类型

标签:详解  

介绍java&#xff08;基于java11&#xff09;中所有关键字&#xff0c;以及主要重要的关键字详解。 1 Java 11中的关键字&#xff1a; 1.1 类型声明与变量定义 boolean

标签:详解  

@目录为什么要有相对跳转和绝对跳转?在程序中只有相对跳转/绝对跳转是否可以?B(BL)和LDR指令具体怎么执行的?B(BL)和LDR跳转范围是如何规定的?为什么要有相对跳转和绝对跳转?顺序执行:指令一条一条按照顺序往下执行,比如变量的定义和赋值都是按照顺序执行的。跳转执行:当指令执行到当前位置后跳转到其他位置执行。比如,在主函数中调用其他函数就是典型的跳转执行。其中跳转又分为绝对跳转和相对跳转。绝对跳转

标签:跳转  汇编语言  指令  详解  关系  

文章目录 通过键盘产生信号通过系统调用产生信号通过异常产生信号通过软件条件产生信号总结操作系统中的时间对操作系统的理解

标签:进程  

Linux 文件和目录 文章目录 Linux 文件和目录Linux 目录Linux 目录配置的依据 --FHS目录树

标签:学习笔记  

《Linux设备驱动开发详解》读书笔记 本书主要介绍linux设备驱动开发的方法&#xff0c;共有21章&#xff1a; linux设备驱动概述及开发环境搭建驱动设计的硬件基础linux内核及内核编

标签:详解  

2020-04-13Java面向对象中:方法重载和方法重写 、&nbsp; this关键字和super关键字&nbsp;方法重载:是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型或者参数顺序不能完全相同;重载是一个类中多态性的一种表现总结:1.同一个类中2.方法名相同3.参数列表不同,即参数的数量 或

标签:关键字  区别  方法  重写  面向对象  

Uniapp 和 Vue 在路由方面有相似之处,因为 Uniapp 是基于 Vue 的。Uniapp 的路由系统是通过 Vue Router 实现的,因此两者有许多相同的概念和 API。相同点:都支持基于 URL 的路由;都可以使用嵌套路由来管理多个页面之间的关系;都支持路由参数和查询参数的传递;都支持路由守卫(beforeEach、beforeEnter、beforeLeave)等功能。不同点:Vue Router 是针对 Web 应用开发的路由库,而 Uniapp 是为多个平台(包括小程序和 H5)开发的跨端框架。因此,U

标签:路由  详解  同和  vue  UniApp  

本文首发于本人微信公众号:Hunter后端原文链接:Django笔记七之ManyToMany和OneToOne介绍ManyToMany 是一种多对多的关系,在用途和使用方法上和外键 ForeignKey 类似。以下是本篇笔记的目录:ManyToMany 的介绍through 参数through_fields 参数ManyToMany关系数据的增删改查OneToOne介绍1、ManyToMany 的介绍

标签:笔记  Django  OneToOne  ManyToMany  

docker的安装与使用 1.安装dnf sudo yum -y install dnf

标签:阿里  

 前言 一个项目中如果将所有的数据都存放在一张表中是不合理的&#xff0c;比如一个员工信息&#xff0c;公司只有2个部门&#xff0c;但是员工有1亿人&#xff0c;就意味着员工信息这张表中的部门字段的值需要重复存储&#xff0c;极大的浪费资源&#xff0c;因此可以定义一个部门表和员工信息表进行关联&#xff0c;而关联的方式就是外键。 外键(Foreign Key) 按照上述所说&#xff0c;一张表存储员工信息会极大的浪费资源&#xff0c;重复数据太多&#xff0c;这个问题就类似于将所有的代码都写在了一个py文件中&#xff0c;因此我们可以将一个表拆成不同的表&#xff0c;在这不同的表之间建立关联&#xff0

标签:关系  

目录 1.什么是虚拟文件系统&#xff1f; 2.Linux系统文件树

标签:文件系统  

表单 form标签主要用于收集用户信息&#xff0c;对表单结果的处理和发送 使用场景&#xff1a;登录页面、注册页面、搜索区域 form属性

标签:详解  

一、Docker的网络概念docker受一个github上的issue启发,引入了容器网络模型(container network model,CNM),容器网络模型主要包含了3个概念network:网络,可以理解为一个Driver,是一个第三方网络栈,包含多种网络模式:单主机网络模式(none、host、bridge,joined container),多主机网络模式(overlay、macvlan、flannel)

标签:详解  通信  网络  docker  

 &#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da;

标签:docker  

本篇笔记将介绍 update 和 create 的一些其他用法,目录如下:get_or_createupdate_or_createselect_for_updatebulk_createbulk_update1、get_or_create前面我们介绍过 get() 和 create() 的用法,那么 get_or_create() 的意思很简单,就是 获取或者创建,如果存在就返回,不存在就先创建再返回。假设对于 Blog model,我们想

标签:操作  笔记  Django  select_for_update  

简介: 本文是个系列一次会出两个设计者模式作用&#xff0c;如果有关联就三个&#xff0c;除此外还会讲解在spring中作用。 23设计者模式以及重点模式 我们都知道

标签:工厂  

一、关于Docker Docker是一个开源的应用容器引擎&#xff0c;可以将应用软件和其依赖打包到一个可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上。 Docker类似于集装箱&#xff0c;各式各样的货物&#xff0c;经过集装箱的标准化进行托管&#xff0c;而集装箱和集装箱之间没有影响。也就是说&#xff0c;Docker平台就是一个软件集装箱化平台&#xff0c;这就意味着我们自己可以构建应用程序&#xff0c;将其依赖关系一起打包到一个容器中&#xff0c;然后这容器就很容易运送到其他的机器上进行运行&#xff0c;而且非常易于装载、复制、移除&#xff0c;非常适合软件弹性架构。

标签:镜像  

不说废话,直接上干货:(注意大小写:object为对象,Object为类)1,object.getClass()它是Object类的实例方法,返回一个对象运行时的类的Class对象,换句话说,它返回的是对象具体类型的类对象。2,Object.class 这是java语言的一种语法糖,用来返回一个对象所属类的Class对象(这里补充一下:Class类,它就是一个类,它将普通的类作为它的对象:每个普通类都只有一个C

标签:杂记  区别  方法  Object  java  

相关问题

相关文章

热门文章

推荐文章

相关标签