我正在运行Xonsh shell,我想模拟不区分大小写的制表符完成 a la zsh
。
例如,键入~/Downl<TAB>
和~/downl<TAB>
都应该自动完成到~/Downloads
.
有什么办法可以在我的终端中启用它吗?
每当我全屏显示某些应用程序时,我的整个屏幕都会慢慢开始被自上而下的黑色滤镜覆盖(请参阅此 YouTube 视频)。
在任何尝试刷新屏幕时(例如,移动鼠标光标或游戏绘制新框架)都会导致黑条再次从顶部开始。这样做也可能导致屏幕闪烁和变色。
某些应用程序(如 Firefox 和终端)不会出现这种行为,但其他应用程序(如 Google Chrome、Discord 和各种游戏)会。在 Nouveau 驱动程序上运行时,没有应用程序表现出这种行为。
回到不断重绘的应用程序(如 Unity 桌面)会导致黑屏不再前进,但也会导致一些轻微的闪烁,随着时间的推移会逐渐消失。
我无法截屏或记录它。这向我表明这是比 X 服务器或我的显示管理器更低级别的东西。
此错误似乎不会发生在访客会话上(或者我还无法在那里重现它),这表明与错误配置有关的某些事情正在发挥作用。但是,创建一个新帐户会带来这个错误。
到底是怎么回事?这只是驱动程序错误吗?这是一个只需要以某种方式修复的配置错误吗?
当前的 List Of Things Tried™(不起作用):
xdm
)在 Chrome 中禁用硬件加速确实可以让它在没有这个问题的情况下运行,但这仍然不能解决根本问题 - 禁用硬件加速并不总是一个选项。
如果可能的话,我宁愿避免重置配置文件或切换回开源驱动程序。这些都是我心中的最后手段,我仍然不知道为什么会发生这种情况,这意味着如果我走这条路,我无法报告错误或避免在我的新个人资料中意外触发它。
操作系统: Ubuntu 16.04 LTS
内核: 4.10.0-36-generic,4.11.0-14-generic
显卡: Nvidia GTX 1080(不是 Optimus)
GC 驱动程序: NVIDIA 387.12,repro 与 384.90 和 381.22
每当我尝试fwupdmgr
在我的系统上运行(以 root 用户或普通用户身份)时,我都会收到以下错误消息:
Error calling StartServiceByName for org.freedesktop.fwupd: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.freedesktop.fwupd': timed out
这个问题似乎不知从何而来,并引起了一些重大担忧,因为它阻止了我为我的计算机的 BIOS 获取一些安全更新。
我正在运行 Ubuntu 16.04,并在我的系统上安装了fwupd
版本。0.7.0-0ubuntu4.3
我也知道这个问题,但目前没有答案,我的系统在启动时没有fwupd
运行。
发生了什么事,我该如何解决?
最近,我搞砸了 KDE,并在我认为它因某些原因无法工作时获得了(大部分)无缝卸载。
然而,这导致一些地方出现了一些奇怪的图标故障:
下拉箭头(或那里的任何东西)现在消失了,并且无处可寻。从主题切换然后再切换回ubuntu-mono-dark
主题似乎没有帮助。
有什么办法可以恢复这个图标吗?
我的计算机在端口 1234 上托管了一个应用程序,除了我的机器之外,任何东西都不能访问该应用程序。但是,我的 Docker 容器(运行 Apache)应该能够访问它。同样,我的 Docker 容器在各种端口上托管了许多资源,这些资源同样只能从我的计算机访问。现在,由于我的系统为该特定网络使用了网桥,这使情况变得更加复杂:
NETWORK ID NAME DRIVER SCOPE
4d4b5e752963 bridge bridge local
c387eb42698a project_default bridge local
6818c0eb94bf host host local
f7e4ed6c05a2 none null local
这个桥(很烦人)总是有一个随机生成的 ID,每次我重新启动我的 Docker Compose 设置时都会改变:
br-c387eb42698a Link encap:Ethernet HWaddr 02:42:29:95:fd:2c
inet addr:172.18.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:29ff:fe95:fd2c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:405753 errors:0 dropped:0 overruns:0 frame:0
TX packets:530699 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:85147217 (85.1 MB) TX bytes:75260996 (75.2 MB)
简而言之,我需要以下内容:
br-c387eb42698a
(或任何网络名称)都可以访问我本地机器上的端口 1234(方便的是 172.18.0.1)理想情况下,这里的解决方案将以与 IP 无关的方式工作,这样它不依赖于子网上的网桥172.18.0.0/24
,如果我连接到恰好包含172.18.0.0/24
子网的网络,它也不会中断或允许数据泄漏。
我能想到的最简单的事情是使用接口名称并围绕它设置 UFW 规则,但我不能真正做到这一点,因为我的接口在不断变化。
我怎样才能做到这一点?虽然我更喜欢纯粹ufw
(或iptables
如果有必要)这样做,但我愿意接受需要配置 Docker 以始终为桥接接口分配持久 ID(甚至自定义名称?)的解决方案。
我有一台戴尔笔记本电脑,上面有分配的服务标签。但是,这个贴纸在一个不方便的地方(在笔记本电脑的底部),我懒得拔掉所有东西并把它翻过来阅读服务标签。
有没有办法从终端或类似的地方获取服务标签?
有时(紧急情况、即将发生的电源故障、饮料洒在塔上等)现在关闭机器(最好是断开电源线)是最好的做法。
当然,这可能具有潜在的危险,因为它可能导致文件系统端和应用程序端的大量数据丢失。文件系统不同步并且可能会出现一些不一致(不是 ext4 的问题,但我宁愿不再修复 NTFS),这要么是修复的痛苦,要么是(以某种方式)不可修复的损坏。同样,应用程序无法优雅地杀死自己,只是为了让它们有机会再次快速保存任何数据,这可能会非常烦人。
因此,在突然断电的情况下,当我被迫拔掉插头时,我可以采取哪些步骤(如果有)来确保我的系统处于(相对)干净的状态?
我的系统有两个(主要)分区:我的 Ubuntu 安装(/
显然安装在 )和我的 Windows 安装(安装在/win32
)。
此外,我已将 Windows 分区中的一些文件夹符号链接到 Ubuntu 分区(即~/Documents
、~/Music
、~/Videos
等)。这样,我设置了我的系统,以便一些文件夹以可靠的方式彼此保持同步。
但是,我偶尔会遇到根本无法更改权限的问题,因为文件归我所有,root
而不是我所有。
理想情况下,我想(以某种方式)设置我的系统,/win32/Users/Owner
使我的用户和组都设置为所有者而不是 root。我还想保留root
其他所有内容的所有者,例如避免我的意外错误。
这甚至可能吗?我怎么能这样做?
我有一个使用标准 Ubuntu 磁盘映像创建器为 16.04 LTS 制作的 live USB。在目前的状态下,我可以启动到这个磁盘,但它仍然需要原始 USB 始终正常运行。
尝试拉动驱动器并使用系统会产生大量 I/O 错误,进一步表明 USB 驱动器实际上是用于尚未加载到 RAM 中的东西(例如,Firefox 在没有 USB 的情况下工作,但我使用过一次之前已经。apt
另一方面,没有。)
有没有办法将整个 Ubuntu 活动磁盘复制到 RAM,这样我就可以卸下驱动器并腾出一个 USB 插槽来做其他事情?
最近,我尝试在我的 WSL 系统上安装 Gitlab 企业版,因为我目前缺乏合适的开发环境。
安装本身进行得相当顺利,但我无法配置 Gitlab ( gitlab-ctl reconfigure
),因为它返回此错误:
* service[create a temporary mailroom service] action nothing (skipped due to action :nothing)
Recipe: runit::upstart
* cookbook_file[/etc/init/gitlab-runsvdir.conf] action create (up to date)
* execute[initctl reload-configuration] action run
[execute] initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
================================================================================
Error executing action `run` on resource 'execute[initctl reload-configuration]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of initctl reload-configuration ----
STDOUT:
STDERR: initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
---- End output of initctl reload-configuration ----
Ran initctl reload-configuration returned 1
试图强制initctl
返回 true (使用ln
)会导致比它解决的问题更多的问题,所以它真的不是一个选择。
我能做些什么来让 Gitlab 正常工作吗?
所以,我被一个非常奇特的垃圾邮件程序困住了:cron
.
每天,我都会收到以下电子邮件:
/etc/cron.daily/apt: FATAL -> Failed to fork.
什么会导致这个错误?我/etc/cron.daily/apt
的和默认安装的一样,所以显然是别的东西。
我不担心 cron 给我发邮件(因为它给了我很多有用的问题/数据)。我只是想解决手头的问题。
我正在尝试使用本教程通过我的 GPG 子密钥启用 SSH 身份验证。但是,我从这个博客借用并使用了.init
脚本(代替编辑我的 Xprofile)。
但是,我收到一条非常奇特的错误消息:
┌─[12:53:49]─[user@pc]
└──> ~ $ ssh-add -l
gpg-agent[7659]: ssh handler 0xABCD1234 for fd 5 started
gpg-agent[7659]: ssh request 1 is not supported
gpg-agent[7659]: ssh request handler for request_identities (11) started
gpg-agent[7659]: no running SCdaemon - starting it
gpg-agent[7659]: DBG: first connection to SCdaemon established
gpg-agent[7659]: no authentication key for ssh on card: Card error
gpg-agent[7659]: /home/user/.gnupg/sshcontrol:4: key '[keygrip from auth key]' skipped: No such file or directory
gpg-agent[7659]: ssh request handler for request_identities (11) ready
The agent has no identities.
gpg-agent[7659]: ssh handler 0xABCD1234 for fd 5 terminated
当然,这毫无意义,因为我从未使用过智能卡,我认为我也没有安装智能卡驱动程序。
此外,这些 GPG 密钥是有效的并且是被导入的。上面列出的密钥也确实有一个身份验证子密钥。
我正在运行 GnuPG 2.1.1 版。
有没有办法解决这个问题,并且(作为奖励)让我的 SSH 密钥通过 GPG 工作?
内容~/.gnupg/sshcontrol
:
# List of allowed ssh keys. Only keys present in this file are used
# in the SSH protocol. The ssh-add tool may add new entries to this
<keygrip from my auth key>
编辑:做完后set | grep SSH_AUTH_SOCK
,我得到:
SSH_AUTH_SOCK=/run/user/1000/keyring-PLDuNs/ssh
但是,在尝试访问cat
此文件时,我收到No such device or address
错误消息。但是,我不确定这是否相关或只是用户错误期望返回。
最近,我设置了一个很好的符号链接系统,所以我的文档和各种东西在我的 Ubuntu 和 Windows 安装之间同步。但是,这(显然)取决于我的 Windows 分区是否已挂载且运行状况良好。
问题是 Windows 和 NTFS 很烦人——将文件系统标记为“脏”并需要ntfsfix
修复它以允许安装驱动器。
ntfsfix
如果分区失败,有没有办法运行?如果是这样,如何?这甚至是一件安全的事情吗?
所以,我最近(再次)从 Window$ 搬走了,我想把我的游戏库搬过来。
我已经为 Linux 安装了 Steam(这样我就可以玩本地支持的游戏),但现在我必须为 Wine 安装 Steam,这样我才能玩所有非本地游戏。
我的问题是我同时运行两个版本的 Steam,这可能会浪费资源(更不用说每次找不到此类别的游戏时我都必须切换到不同的版本,这很烦人,或者反之亦然)。
有什么方法可以诱骗 Steam for Linux 通过 Wine 启动 Windows 游戏吗?
例如,我是否可以Play
从我的 Linux 安装中点击 Skyrim 之类的按钮,然后让 Steam 在命令前加上wine
?同时,原生游戏应该在没有任何前缀的情况下运行。
由于 14.10 不“正式”支持 FFMPEG,我该如何安装它?
我正在尝试让 OBS Studio 在 14.10 上运行,而 FFMPEG 是我无法满足的依赖项......