我在半嵌入式环境中的单板机器上安装了 Ubuntu 10.10 Server;没有键盘或屏幕,只需通过 SSH 访问即可。
所以当它偶尔启动并卡在 GRUB 菜单上,等待按键选择第一个选项时,真的很令人沮丧。
如何将 GRUB 配置为在任何情况下都不等待击键?
更新 #1:没有 menu.lst,因为这是 GRUB 2。但我确实有一个 /etc/default/grub,如下所示:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
Run Code Online (Sandbox Code Playgroud)
更新#2:我想通了。在引导失败后的引导上,GRUB 禁用自己的超时。由于显示菜单会使启动失败,因此这是一个不可避免的循环。可以通过编辑 /etc/grub.d/00_header 文件并更改 make_timeout 函数来禁用此行为:
make_timeout ()
{
echo "set timeout=0"
}
Run Code Online (Sandbox Code Playgroud)
现在退出并重新运行 grub 配置更新程序脚本:
sudo update-grub2
Run Code Online (Sandbox Code Playgroud)
对我来说,这种行为将成为 Ubuntu Server 的默认行为是没有意义的,Ubuntu Server 是一种用于通过控制台访问的机器的产品。
我需要帮助在无头 Linux 系统上启动通过会话(不是系统)D-Bus 进行通信的服务。关键是没有人会登录无头系统。
到目前为止,我已经能够在三个不同的终端中代表未登录的用户(“其他用户”)启动 D-Bus 守护程序并测试 D-Bus 通信:
在第一个终端中,我为“otheruser”启动了一个 D-Bus 守护进程:
$ sudo -u otheruser dbus-daemon --session --print-address 1
unix:abstract=/tmp/dbus-a5cU7r4IHc,guid=6c0a9bbfd02f5f68da0fe32f5a5e0a48
Run Code Online (Sandbox Code Playgroud)
在第二个终端中,我使用上述 DBUS_SESSION_BUS_ADDRESS 响应启动 D-Bus 服务器应用程序:
$ sudo -u otheruser DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-a5cU7r4IHc,guid=6c0a9bbfd02f5f68da0fe32f5a5e0a48" /usr/bin/my-dbus-service
Run Code Online (Sandbox Code Playgroud)
然后,在第三个终端中,我可以测试连接:
$ sudo -u otheruser DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-a5cU7r4IHc,guid=6c0a9bbfd02f5f68da0fe32f5a5e0a48" gdbus introspect --session --dest com.mycompany.myappname --object-path /com/mycompany/interface
Run Code Online (Sandbox Code Playgroud)
但是,我想通过 systemd 启动 D-Bus 服务器应用程序以及一些客户端 D-Bus 服务。如何通过 systemd 启动 D-Bus 会话,以便将其 DBUS_SESSION_BUS_ADDRESS 环境变量传播到“otheruser”的 D-Bus 服务器和客户端服务?
一种可能的解决方案可能是将 dbus-daemon 的输出通过管道传输到“somefile”,然后在启动 D-Bus 服务器和客户端之前设置 DBUS_SESSION_BUS_ADDRESS=$(cat somefile)。这对我来说似乎有点太尴尬了;特别是因为我知道系统D-Bus 连接的 systemd 服务文件中的“Busname”指令有一些神奇之处。如何为“其他用户”正确启动 systemd 服务,以便这些 systemd 服务可以与会话 D-Bus 接口进行通信?
我们有一个小型 Java 应用程序,它使用一些 Camel 路由从网络服务器获取上传的文件,处理它们并发送一些带有结果的电子邮件。
运行此应用程序的服务器已停用。现在我们必须在动力不足的硬件上运行它,因为我无法说服管理员在网络服务器(实际上是一个多用途服务器)上安装 JRE。
我自己是一名 Java 应用程序工程师,我以编写 JEE 代码为生,处理每周价值数万欧元的 B2B 交易。但是我在找到驳斥 java 本身不安全的神话的可靠来源时遇到了问题。
管理员反对安装 JRE 的两个主要论点:
当涉及到占用内存的 Java 应用程序时。嗯...我想说我们必须为 Xmx 设置适当的值。完毕。
现在有很多消息来源在谈论 Java 的许多漏洞。这些来源主要针对运行来自美国雷德蒙德公司的特定操作系统的最终用户。AFAIK 对于配置为自动执行所有小程序的 Java 浏览器插件的未打补丁版本来说可能是真的,很有可能成为驱动感染的受害者。就像在上下班途中与火车上的每个人进行无保护性行为一样有感染性病的风险。
但是我在全球互联网上找不到任何人谈论服务器应用程序或无头运行的 JRE。那完全是另一回事。
或者我在这里遗漏了什么?
[edit 2014-08-28] 澄清:我只关心服务器上的 Java。我不关心 Java 插件和/或用 Java 开发的特定软件的问题。
login
启动后的进程或其他任何事情——除了一个应用程序。感谢您的任何提示......!
[1] 当设备读取条形码时,它会在单次按键时发送检测到的代码并提交return.
我最近设置了一个需要 JDK 才能运行的构建服务器(例如,编译 Java 源代码)。Ubuntu 中的 OpenJDK 包将 OpenJDK JRE 作为依赖项引入,而后者又依赖于大量仅与图形环境相关的包。对于标准 JRE,有一个包的无头版本,但对于 JDK,没有。
这个问题之前已经在很多地方讨论过,我找到并使用的一个解决方案是这样的:
$ apt-get --no-install-recommends -d install openjdk-6-jdk
$ dpkg -i --ignore-depends=openjdk-6-jre /path/to/just-downloaded.deb
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但它现在使我的系统依赖树损坏,并且 apt-get 拒绝进一步安装,直到我运行apt-get -f
.
有没有更好的解决方案?
我有许多 Linux 网络服务器,我想跟踪磁盘空间的去向并将磁盘空间保持在最低限度。
通常我登录 SSH 并du
用来找出磁盘空间浪费的地方,但这既麻烦又缓慢。像 KDirStat 这样的可视化工具是理想的,但它至少需要安装一个 X 服务器,这违背了目的。
是否有任何基于 Web 的磁盘空间可视化工具?我对替代解决方案持开放态度。
linux hard-drive headless disk-space-utilization visualization
尝试在 linux 虚拟机 (vmware) 上设置无头 LDAP 服务器。范围小,但需要可靠且易于使用。强烈偏好简单而不是功能,命令行而不是 gui。
有哪些不错的选择?
还需要某种客户端/管理器实用程序,以便我可以远程登录,查看目录的内容,并根据需要进行更改。基于 Web 很好,但一个独立的 Windows 客户端将是理想的。
我已经尝试设置了几次,但总是在途中的某个地方挂断电话。有人可以指出我正确的方向吗?
Windows 上的 Oracle VirtualBox
大家好,
有没有办法启动 vm headless (vboxheadless -s ) 但可以关闭该命令窗口,或者如果我将其添加为启动项会使其静默运行吗?
我已经成功导出了一个设备(linux vm),当我进行批量导入时,它会保留我最初配置的设置还是必须分配桥接适配器、内存量等?
将不胜感激您的建议!亲切的问候
编辑:Iain,如果有人想在 CentOS VM 中的第一次启动时编写 GuestAdditions 安装脚本,我应该将命令 ./VBOXLinux-x86-additions.run 放到 bash 脚本中,它会在启动时运行,对此有何想法真的很有帮助。
亲切的问候
我在 Ubuntu 上运行无头服务器,目的是使用 GPU 进行非图形计算。但是,我发现没有插入内核的显示器无法加载图形驱动程序。
是否有任何原因我不能使用 modprobe 或其他一些机制来强制驱动程序在启动时加载(我不知道驱动程序是否可以容忍没有显示器的情况),或者我完全走错了路线?
解决此问题的最佳做法是什么?
是否可以在没有浏览器的情况下运行 Opera unite 服务器?
比如说我想使用我的永远在线的 FreeBSD 服务器,它不运行 X。