AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-169677

Lassi's questions

Martin Hope
Lassi
Asked: 2019-08-13 06:44:26 +0800 CST

passwd GECOS 字段中的与号

  • 1

展开/etc/passwd GECOS 字段获取用户全名时,我们应该只展开第一个 & 号(&字符),还是展开所有 & 号?

在以逗号 ( ,) 分隔的子字段的 GECOS 字段中,应该仅在第一个子字段(即用户的全名)中还是在所有子字段中扩展 & 号?

如果 Unix 用户名包含大写字母,我们应该在&扩展中保留它们,还是应该只将用户名的第一个字母大写,其余的小写?

passwd history
  • 1 个回答
  • 280 Views
Martin Hope
Lassi
Asked: 2019-08-02 05:01:28 +0800 CST

如何模拟新闻窗口系统

  • 3

是否有一种相当简单的方法可以在当前计算机上运行NeWS(网络可扩展窗口系统,一种基于 PostScript 的窗口系统,由 Sun 的研究人员在 1980 年代开发)?

x11 graphics
  • 1 个回答
  • 291 Views
Martin Hope
Lassi
Asked: 2019-07-21 06:00:10 +0800 CST

为什么 fork() 应该被设计成返回一个文件描述符?

  • 15

在他关于self-pipe 技巧的网页上,Dan Bernstein 解释了一个带有和信号的竞争条件,提供了一种解决方法并得出结论:select()

当然,正确的做法是fork()返回文件描述符,而不是进程 ID。

他的意思是什么——它是关于能够select()在子进程上处理它们的状态变化而不是必须使用信号处理程序来获得这些状态变化的通知吗?

signals file-descriptors
  • 4 个回答
  • 3008 Views
Martin Hope
Lassi
Asked: 2019-05-17 02:16:40 +0800 CST

仅安装 Alpine 安全更新

  • 0

有没有办法只安装 Alpine Linux 及其apk软件包的安全更新,跳过不能修复安全漏洞的更新?

security package-management
  • 1 个回答
  • 637 Views
Martin Hope
Lassi
Asked: 2019-04-24 14:18:27 +0800 CST

轻松免费的类 Solaris 开发 VM

  • 3

我写了一些带有命令行界面的开源 Linux/BSD 软件,想知道我是否也可以轻松地让它在 Solaris 上运行。对于对 Solaris 几乎一无所知的人来说,用 Solaris 或其衍生产品之一安装 amd64 虚拟机有哪些简单的选择(即与 Linux/BSD 一样容易)?

它应该具有(开箱即用或易于安装):

  • 互联网连接
  • ssh 客户端和服务器
  • bash 或 zsh
  • 混帐
  • 柏油
  • 制作
  • 一些比 vi 更好的文本编辑器(vim 或 emacs 克隆很好)
  • Solaris 程序员中流行的 C 编译器和链接器(现在很多人只使用 GCC 吗?)
  • libc 的 C 头文件、内核系统调用接口以及通常需要的任何其他内容
  • 一个简单的包管理器会很好,但如果它附带上述内容也很好
solaris system-installation
  • 2 个回答
  • 175 Views
Martin Hope
Lassi
Asked: 2019-04-11 11:49:50 +0800 CST

带有颜色输出的 Whois 查询

  • 1

是否有一种简单的方法可以使whois来自终端的查询在输出中具有语法着色,以便更容易阅读?

一些基本的东西,比如NOT FOUND用红色着色,不同颜色的字段名称和日期已经很有用了。如果着色不是 100% 准确也没关系。

colors syntax-highlighting
  • 1 个回答
  • 285 Views
Martin Hope
Lassi
Asked: 2018-11-24 13:17:08 +0800 CST

为什么终端模拟器仍然有屏幕闪烁?

  • 4

为什么终端仿真器绘制基于文本的应用程序时仍然存在视觉伪影?这在最近渲染 3D 游戏和 GUI 窗口的计算机上,包括没有伪影的抗锯齿矢量字体。

我经常看到以下工件,它们揭示了屏幕更新过程的中间步骤:

  • 终端光标移动(更新期间光标在屏幕上闪烁或跳跃)
  • 撕裂(屏幕的一部分显示旧内容,而另一部分显示新内容)
  • 滚动(滚动很明显,而不是立即显示新的滚动位置)

这些伪影仅在亚秒间隔内可见,在大多数屏幕更新期间不会出现,但在无闪烁 GUI 上长大后,我仍然想知道如何避免它们。一旦开始绘制更复杂的屏幕,就可以在例如以下 ASCIInema 视频中看到上述所有工件(滚动除外):MapSCII - 控制台中的整个世界!

我也特别不是在谈论缓慢的更新。如果更新总是即时的,那就太好了,但由于网络和处理延迟,这并不总是可能的。我的意思是,部分绘制的屏幕通常会在短时间内可见。在大多数现代 GUI 中,只向用户显示完全完成的屏幕,部分绘图的工件非常罕见。

我的印象是终端仿真管道是这样的:

  1. 用户按下键盘上的键
  2. 内核将按键从键盘驱动程序传递到窗口系统
  3. 窗口系统将按键传递给终端仿真器
  4. 终端模拟器将按键传递给伪终端(pty)内核设备
  5. Pty 解释按键并将结果传递给基于文本的应用程序
  6. 应用程序响应按键执行命令
  7. 应用程序将新屏幕(字符单元格)呈现到内部缓冲区
  8. 应用程序调用curses或其他库将字符单元格网格转换为 ANSI 转义码,这将在终端上呈现等效屏幕
  9. 库将这些 ANSI 转义码写入 pty 设备
  10. Pty 以某种方式处理写入的数据
  11. 终端模拟器以某些块从 pty 读取处理后的数据
  12. 终端仿真器调用窗口系统在终端窗口中渲染 ANSI 转义码的结果

上述哪个步骤可以减慢进程,使终端模拟器向我们显示中间渲染步骤,而不是只显示最终结果?

  • 似乎硬件终端(串行端口连接)的速度由它们的波特率决定,可以改变tcsetattr()但我从多个来源了解到波特率设置对终端使用的伪终端(pty)设备没有影响模拟器。这是否意味着 Unix 内核不会故意限制 pty 通信的速率?

  • 应用程序或渲染库(诅咒等)是否在多次写入中发送文本和 ANSI 代码,而不是尝试只使用一个write()?

  • Unix 内核对其内部 I/O 缓冲区有大小限制,这会影响诸如可以通过管道发送而不会阻塞的最大数据量。这是否会影响渲染具有大量细节的终端屏幕(一屏文本、大量颜色等)?我想组合的文本和 ANSI 转义码可能会包含太多数据,以至于它不适合 pty 驱动程序的缓冲区,这会将屏幕更新拆分为应用程序的多个写入操作和终端仿真器的多个读取操作。如果终端仿真器急于在处理下一次读取之前显示每次读取的结果,这将导致显示闪烁,直到处理完批处理中的最终读取。

  • 终端仿真器或 pty 驱动程序是否有故意的批处理超时,以便它们的行为更接近于模仿硬件终端,感觉更自然,或者解决一些其他被认为比显示速度更重要的问题?

最近有一些努力使新的终端仿真器渲染速度更快(例如,通过将字体预渲染到视频内存中的 OpenGL 纹理中)。但这些努力似乎只是在计算网格后加速将字符单元网格渲染到屏幕位图上。

似乎还有其他事情正在发生,即使在非常快的计算机上,这些东西也会从根本上变慢。想一想:如果终端仿真器在将任何内容渲染到屏幕位图之前处理所有 ANSI 代码以获得字符单元格网格,那么字符网格到位图渲染例程有多慢并不重要 - 应该有没有闪烁(至少不是那种明显对应于硬件终端上的光标移动的闪烁,这是我们经常看到的)。即使终端模拟器花了整整一秒钟在屏幕上绘制任何给定的字符单元格网格,我们也只会得到一秒钟的不活动,而不是一秒钟的闪烁。

一个类似的问题是 Unixclear和reset命令的执行速度非常慢(从 GUI 用户的角度来看,它们不会做任何比重绘位图更复杂的事情)。也许出于相关原因。

terminal performance
  • 1 个回答
  • 2435 Views
Martin Hope
Lassi
Asked: 2018-04-14 23:29:35 +0800 CST

让 'sudo pkg_add' 在 NetBSD 上工作

  • 0

有什么方法可以制作简单的命令

sudo pkg_add some-package

在不从源代码重新编译任何内容的情况下进行 NetBSD 的普通安装?我尝试过的所有其他 Unix 系统都毫不费力地提供了开箱即用的等效命令。

我能想到的最好的就是添加

export PKG_PATH="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/$(uname)/$(uname -m)/$(uname -r)/All/"

to/root/.shrc但 sudo 不读取.shrc.

pkgsrc 常见问题解答,“将 'sudo' 与 pkgsrc 一起使用”说您可以调整“pkgsrc 的即时 su(1) 功能”以使用 sudo,但它需要编辑生成文件并重新编译某些内容。对于这样一项基本任务,这似乎是一个苛刻的要求。即使没有此修改,当我尝试以普通用户身份安装软件包时pkg_add也不会要求我这样做- 它只是说supkg_add: Can't create pkgdb entry: /var/db/pkg/<...>: Permission denied

OpenBSD 有一个用于此目的的/etc/installurl文件,但我找不到与 NetBSD 等效的文件。

netbsd pkgsrc
  • 1 个回答
  • 772 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve