我刚开始学习 Linux,我之前的所有编程经验都是使用 Windows 平台。我遇到了 Vim 编辑器,并读到它是模式编辑器,与记事本不同,记事本被称为无模式编辑器。
您能解释一下无模式编辑器和模态编辑器之间的一般区别吗?
只有当我的外壳“连接”到终端时,我才想执行某些操作,即只有当我的标准输入来自终端的输入并且我的标准输出(和标准错误?也许这无关紧要)被打印/回显到一个终端。
在不直接依赖 GNU/Linux 特性(如/proc/self
)的情况下,我该怎么做?
有人给我发送了一个 ZIP 文件,其中包含带有希伯来语名称的文件(并在 Windows 上创建,不确定使用哪种工具)。我在 Debian Stretch 上使用 LXDE。Gnome 档案管理器设法解压缩文件,但希伯来文字符是乱码。我想我正在将 UTF-8 八位字节扩展为 Unicode 字符,例如我有一个文件名有四个字符和一个 .doc 就足够了,字符是: 0x008E 0x0087 0x008E 0x0085 。使用命令行解压缩实用程序更糟糕 - 它拒绝完全解压缩,抱怨“无效或不完整的多字节或宽字符”。
所以,我的问题是:
如何在 Debian 8 上安装Cuda Toolkit 7.0或 8?
我知道,Debian的8自带的选项,下载并安装CUDA工具包6.0使用apt-get install nvidia-cuda-toolkit
,但你如何为CUDA工具包7.0版或8做到这一点?
我尝试使用 Ubuntu 安装程序进行安装,如下所述:
sudo wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_amd64.deb
dpkg -i cuda-repo-ubuntu1404_7.0-28_amd64.deb
sudo apt-get update
sudo apt-get install -y cuda
Run Code Online (Sandbox Code Playgroud)
但是它不起作用并返回以下消息:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been …
Run Code Online (Sandbox Code Playgroud) 我的 Mint-KDE 18 根分区有 20GB。没有额外的主分区。我没有做任何特别的事情,只有 Chrome、KRDC、Teamviewer 并且分区是半空的。我做的一件事是通过 samba 将 Dolphin 从互联网上的 webdavs 存储库复制到我的网络驱动器。我的电脑上没有存储任何东西。
现在我收到消息说我的磁盘已满。当我在 Dolphin 中打开我的根目录或主目录时,它显示 0 MB 可用空间。
通过终端查看我的目录和文件的最快方法是什么,首先是最大的还是最新的等等?
Apt 和 DNF/Yum,据我所知,Linux 发行版的两个最流行的包管理方案,都只支持系统范围的包安装:root 拥有的文件,二进制文件进入(/usr)?/s?bin
,设置进入/etc
等等。
然而,在有多个没有 root 权限的个人用户的系统上,经常(如果不是总是)发生用户想要安装一些可用于该发行版的应用程序或实用程序;并且他/她对个人的安装很好,并且对于许多/所有用户来说并不常见。
现在,让包在安装时具有不同的根目录或一组根目录,以便用户可以执行此操作,这似乎并不是一个牵强或难以置信的复杂想法。管理已安装软件包的用户特定注册表(无论单个用户是否拥有他/她自己的软件包数据库)也不是什么大问题。
那么这个功能没有被添加到那些常见的包管理系统/方案中的原因是什么?
注意:这是一个信息丰富的问题,即我问的是人们对过去的了解,而不是人们对此功能的看法。
我在系统上运行(最近的)基于 Debian 的发行版。
我想生成与特定模式匹配的所有已安装软件包的简单列表。我可以通过跑步来做到这一点
apt list --installed "linux-image-*" | cut -d/ -f1
Run Code Online (Sandbox Code Playgroud)
但我得到了我不关心的线路,例如:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Listing...
Run Code Online (Sandbox Code Playgroud)
所以也许我最好不要使用apt
. 我可以像这样运行 dpkg-query:
dpkg-query --showformat='${Package}\n' --show "linux-image*"
Run Code Online (Sandbox Code Playgroud)
但这不仅限于已安装的软件包。我可以用
dpkg-query --list "linux-image-*" | grep "ii"
Run Code Online (Sandbox Code Playgroud)
但后来我需要做一堆文本处理,谁能相信这些空间,对吧?
所以,最重要的是:获取与模式匹配的已安装软件包列表的正确方法是什么?
注意:
我有一台带有 NVIDIA GeForce 的机器,我不将其用于显示目的(即显示器未连接到它),以及一些乏善可陈的板载图形芯片。(您将在下面找到相关lshw
列表。)
我的 X 会话工作得很好;但是当我的大多数 X 应用程序(需要任何花哨的 GFX 或工具包)运行时,它们会发出以下错误消息:
Xlib: extension "GLX" missing on display ":0".
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何让我的应用程序注意到非 NVIDIA GLX 库并使用它(当然无需移除 NVIDIA 卡,也无需将显示器切换到其输出端口)?
我正在使用带有 LXDE 的 Debian/Linux Stretch 64 位内核版本 4.2.6。
的输出lshw -c display
:
*-display
description: VGA compatible controller
product: GK106 [GeForce GTX 650 Ti Boost]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0 …
Run Code Online (Sandbox Code Playgroud) 我过去resolv.conf
是静态的,你自己编辑它。
稍后,DHCP 客户端将使用一些静态条目和它从 DHCP 租约中获得的内容重写它。
现在,一些发行版——比如我的(Linux Mint 18.1)有一个/etc/resolv.conf.d
包含几个脚本子目录的机制,而且,我无法理解它。
那么正确的做法是什么
如果我有的话,我不介意自己写一些脚本,我只是不想“反对”现有机制或做重复的工作。
我刚刚学习守护进程,那时我开始了解 avahi 守护进程,您能详细解释一下 avahi 守护进程以及为什么 linux 有一个 avahi 用户吗?
apt ×2
avahi ×1
command-line ×1
cuda ×1
daemon ×1
debian ×1
disk-usage ×1
dnf ×1
dns ×1
dpkg ×1
editors ×1
file-format ×1
files ×1
gpu ×1
graphics ×1
linux ×1
linux-mint ×1
networking ×1
resolv.conf ×1
scripting ×1
terminal ×1
unicode ×1
vim ×1
xorg ×1
yum ×1
zip ×1