Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答




2
GRUB2和内核vga =参数
根据文档,vga=从GRUB2开始不赞成使用内核参数。某些新适配器似乎不再支持该内核,这一事实无关紧要,因为我拥有的显卡已经使用了七到八年。 现在的问题是,我想使用更高分辨率的文本模式,例如80x50,而不是默认的80x25字符。显然,所有的图形(VBE / VESA)模式,是这款显卡(ATI RAGE XL)的问题了-可用模式只显示列表中0通过6。6是80x60,但看起来可怕,所以我想一起去1(80x50的)。 每当不支持默认模式(默认注释已注释掉GRUB_TERMINAL=console)并提示我进行选择时,我都会在获得可用模式列表后看到80x50和80x60工作。 如果不应该在内核命令行上设置模式,并且每次使用GRUB_GFXMODE(带有或不带有预加载vbe模块)都GRUB_GFXPAYLOAD_LINUX=keep失败,那么如何设置模式?失败如:屏幕保持空白,因为这是我在本机中拥有的卡的无效图形模式? 我的想法是nomodeset仍然传递给内核,但是引导加载程序仍然必须设置图形模式。而且除了vga=内核参数之外,我看不到其他任何选项。 注意: GRUB2控制台上的vbetest和videotest命令将使屏幕空白,然后声称没有视频输入,然后屏幕切换到睡眠模式。vbeinfo并videoinfo显示了上述以外的一些可用模式,但没有提及应在何处设置。另外,在内核命令行中传递vga=1(不传递nomodeset)时,我看到一个很简短的警告,说明它已过时,但是它太长了,无法完全读取-输出不会出现在中dmesg。

1
如何解决“ xrandr:找不到输出的crtc”?
每当我上班时,我都会输入 xrandr --auto xrandr --output VGA1 --right-of LVDS1 这使我的第二个显示器正常工作,但是现在我得到了 xrandr: cannot find crtc for output VGA1 作为参考,这里是xrandr的输出, Screen 0: minimum 320 x 200, current 3286 x 1080, maximum 8192 x 8192 LVDS1 connected 1366x768+1920+0 (normal left inverted right x axis y axis) 277mm x 156mm 1366x768 60.0*+ 1360x768 59.8 60.0 …
16 xrandr 

5
在剧本的shebang行中,我怎么可能有不止一种可能性?
我处于一个有趣的情况,我有一个Python脚本,理论上可以由具有各种环境(和PATH)的各种用户以及各种Linux系统上运行。我希望此脚本在尽可能多的可执行文件上不受人为限制。以下是一些已知的设置: Python 2.6是系统Python版本,因此python,python2和python2.6都存在于/ usr / bin中(并且是等效的)。 如上所述,Python 2.6是系统Python版本,但Python 2.7与python2.7一同安装。 Python 2.4是系统Python版本,我的脚本不支持该版本。在/ usr / bin中,我们有等效的python,python2和python2.4,以及脚本支持的python2.5。 我想对所有这三个脚本运行相同的可执行python脚本。如果它先尝试使用/usr/bin/python2.7(如果存在),然后回退至/usr/bin/python2.6,然后回退至/usr/bin/python2.5,然后再回退,那就太好了如果这些都不存在,就简单地将错误提示出来。不过,我不太可能使用最新的2.x,只要它能够找到正确的解释器之一(如果存在)。 我的第一个倾向是将shebang线从以下位置更改: #!/usr/bin/python 至 #!/usr/bin/python2.[5-7] 因为这在bash中效果很好。但是运行脚本可以得到: /usr/bin/python2.[5-7]: bad interpreter: No such file or directory 好的,所以我尝试以下方法,它也可以在bash中使用: #!/bin/bash -c /usr/bin/python2.[5-7] 但是,再次失败: /bin/bash: - : invalid option 好的,显然我可以编写一个单独的shell脚本来找到正确的解释器,并使用找到的任何解释器运行python脚本。我会发现分发两个文件很麻烦,只要在安装了最新的python 2解释器的情况下运行一个文件就足够了。要求人们明确地调用解释器(例如$ python2.5 script.py)不是一种选择。也不能选择依靠用户的PATH进行某种设置。 编辑: 版本的Python脚本内检查是不是因为我用它存在像Python 2.6的(并可以在2.5与所使用的“与”语句去上班from __future__ import with_statement)。这会导致脚本立即失败,并出现用户不友好的SyntaxError,并阻止我有机会先检查版本并发出适当的错误。 示例:(使用小于2.6的Python解释器尝试此操作) #!/usr/bin/env …
16 bash  scripting  python 

5
在scp期间更改用户
我需要在Linux机器之间复制文件。我用来登录(myuser)的用户与可以访问该文件的用户不同。 如果仅ssh使用机器,我可以使用切换用户,我可以在sudo su someuser一段时间内以某种方式进行操作scp吗? 在使用WinSCP时,我通过配置SCP / Shell做到了这一点,因此我相信必须有类似的方法可以通过纯Shell来实现。
16 users  scp 

1
哪里和哪里有什么区别
where和whichshell命令有什么区别?这里有些例子 ~ where cc /usr/bin/cc /usr/bin/cc ~ which cc /usr/bin/cc 和 ~ which which which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' /usr/bin/which ~ which where /usr/bin/which: no where in (/usr/local/bin:/bin:/usr/bin:/home/bnikhil/bin:/bin) 也 ~ where which which: aliased to alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde which: shell built-in command /usr/bin/which /usr/bin/which …

1
使用.gitignore排除etckeeper中的文件不起作用
我使用etckeeper在我的配置文件中进行更改(在De​​bian上) 由于我也正在运行ircdeamon,因此有些文件在文件夹中每分钟更改一次 /etc/hybserv/ 我不想再对它们进行版本控制,所以我添加了 hybserv/* 到 /etc/.gitignore 但他们不容忽视!他们每小时都会在每小时提交中不断出现。 我究竟做错了什么?
16 git  etc 

6
无法删除网桥-“网桥br0仍在运行;无法删除它”
我和这个人有同样的问题:关闭并删除已启动的网桥接口 但是该解决方案对我不起作用。 我使用brctl delif从网桥中删除所有接口。然后,使用ifconfig或ip将链接设置为down。然后,我尝试使用brctl br0删除网桥“网桥br0仍在运行;无法删除它”。 该平台是Raspberry Pi上的Raspbian。 有任何想法吗? 来自ifconfig和ifconfig -a的相同输出: br0 Link encap:Ethernet HWaddr 54:e6:fc:89:be:4b inet6 addr: fe80::56e6:fcff:fe89:be4b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:6569 (6.4 KiB) eth0 Link encap:Ethernet …


5
为什么在类似Unix的系统中有多个shell?
我刚刚开始学习Unix的基础知识,并且想知道为什么在类似Unix的系统中有那么多shell。摘自《Unix环境中的高级编程》一书: Shell是一个命令行解释器,它读取用户输入并执行命令。用户对Shell的输入通常是从终端(交互式Shell)或有时是从文件(称为Shell脚本)输入的。 然后,本书继续列出了一些shell程序,例如Bourne shell,Bourne-again shell,Cshell等。我的问题基本上是为什么我们需要多个外壳?
16 shell 


5
在内核中启用IOMMU以实现图形卡传递
简短问题: 如何intel_iommu在Linux内核中打开设置?我使用grub2引导程序运行Debian主机。我见过的文档说编辑/boot/grub/menu.lst,似乎只与grub 1.x相关,因为我没有该文件。 据我了解(也是我能想到的最后一个选项),更改此启动选项可能会消除以下错误消息: /var/log/kern.log vboxpci: No IOMMU domain (attach) 长问题: 使访客操作系统直接访问图形卡 我最近意识到,可以将PCI Express设备传递给Virtualbox中运行的来宾OS。酷,我想!我有两块NVIDIA Quadro FX图形卡(具有SLI桥接器连接,希望不会引起麻烦),并且希望将第二张图形卡专用于来宾OS,以便可以在其中使用OpenGL功能。 Photoshop等。 NVIDIA销售这种“ SLI Multi-OS ”配置,这基本上是我多年来一直想要设置的配置,但是我不想花太多时间在虚拟化软件(Parallels极限工作站)上。使用VirtualBox已有很多年了。 主机系统 我正在相当高端的工作站设备(具有Intel ICH10R芯片组和Xeon W3680 CPU的Asus P6T7 WS超级计算机主板)上从Debian存储库中运行linux-3.5.0-19,并希望在内核中打开IOMMU支持。 ,最好不必自己编译。 的BIOS 在BIOS设置中,启用了VT-x和VT-d支持。不过,我看不到任何特别提及IOMMU的内容。 连接PCI设备 这真是令人惊讶的简单!官方的VirtualBox文档在这里。我发现不那么模棱两可的是,打开了nvidia-settings,选择了辅助图形卡并记下了总线ID(在我的情况下为“ PCI:5:0:0”)。然后,从主机的命令行: VBoxManage modifyvm "Windows Guest" --pciattach 05:00.0 (当我第一次运行此程序时,出现了一个错误,因为VirtualBox在模拟PIIX芯片组;它说PCI直通仅适用于ICH9芯片组。因此,我在VirtualBox VM System设置中将芯片组更改为ICH9,并打开了guest虚拟机。以安装必要的新驱动程序。稍后重新启动,一切正常,因此我关闭了来宾,然后重新运行命令。) 没有输出,我几乎立即返回到命令行。 从来宾使用主机GPU 在打开guest虚拟机之前,我首先通过virtualbox-dkms重新启动了主机,以防内核中发生未记录的事件。当我在没有sudo特权的情况下运行上一个命令时,我怀疑是否进行了任何更改。 当我下一次启动客户机时,Windows Update开始执行它的工作,并自动检测并安装了正确的NVIDIA驱动程序。到目前为止一切都很好。不过,在使用设备之前,我必须重新启动访客。 问题 现在,图形卡驱动程序已安装在客户机上,并且已连接PCI设备,现在我无法进入Windows桌面了。我进入Windows登录屏幕,然后登录后,屏幕冻结,只说“ …

6
列出与文件名中给定字符串不匹配的文件
我有一个目录,在其中创建了很多文件(大约200个),该文件的名称temp_log.$$带有其他一些我需要检查的重要文件。 如何轻松列出所有文件并temp_log.$$从显示中排除文件? 预期产量 $ ls -lrt <exclude-filename-part> -- Lists files not matching the above given string 我浏览了ls手册页,但在此参考资料中找不到任何内容。如果我错过了任何重要信息,请告诉我。 谢谢
16 ls  filter 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.