我已将 14.04 升级到 16.04 。现在我试图通过传递命令从终端打开 gedit:
sudo gedit /some/where/file.txt
Run Code Online (Sandbox Code Playgroud)
但它抛出一个错误,指出:
(gedit:2090): Gtk-WARNING : Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown:
The name org.gnome.SessionManager was not provided by any .service files**
Run Code Online (Sandbox Code Playgroud)
但是,它正在打开文件。当我尝试保存任何修改时,保存文件后显示此错误:
(gedit:2090): WARNING : Set document metadata failed: Setting attribute metadata::gedit-position not supported
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这只会在 16.04 中发生;它不是在 14.04。
一个奇怪的问题,我知道。这是脚本:
echo $USER
Run Code Online (Sandbox Code Playgroud)
这是我用来运行它的命令:
sudo ./myscript.sh
Run Code Online (Sandbox Code Playgroud)
现在它打印“root”,但我希望它打印jon
我的用户名。有没有办法通过更改脚本而不是命令来做到这一点?
我正在尝试使用 su 命令以另一个用户身份运行应用程序
在这种情况下,我正在尝试运行 irssi
blah@ubuntu: su - [username] irssi
(enter password)
blah@ubuntu:
(nothing happens)
blah@ubuntu: su - [username] -c irssi
(nothing)
Run Code Online (Sandbox Code Playgroud)
我运行 gksu 并设置相同的参数,它可以工作,并且不会询问我的用户密码。问题是什么?我该如何解决?
我应该注意到用户是这样创建的
adduser --system --disabled-login [username]
Run Code Online (Sandbox Code Playgroud)
如果它有任何区别....叹息。
如果某些用户无法访问某些命令sudo
3 次,这应该在访问日志\错误中报告给 root 用户。
root 可以在日志中的文本中看到这些尝试(如尝试的密码)吗?
我在 Windows 计算机上安装了 Ubuntu 22.04 VM(使用虚拟盒),每当我在唯一的默认会话上使用 sudo 命令时,都会收到错误“用户不在 sudoers 文件中”。我怎样才能解决这个问题 ?我尝试在根模式下运行恢复模式,但系统要求我输入密码(我从未定义过也没有给出密码)。默认会话没有管理员权限,这不是很奇怪吗?我猜通常情况并非如此,但在我创建的每个 ubuntu 虚拟机上都是这样。
任何帮助将不胜感激,谢谢!
我想将设备挂载/dev/sda3
到目录/foo/bar/baz
。挂载后目录应该有 user 的 uid johndoe
。所以我做了:
sudo -u johndoe mkdir /foo/bar/baz
stat -c %U /foo/bar/baz
johndoe
Run Code Online (Sandbox Code Playgroud)
并将以下行添加到我的/etc/fstab
:
/dev/sda3 /foo/bar/baz ext4 noexec,noatime,auto,owner,nodev,nosuid,user 0 1
Run Code Online (Sandbox Code Playgroud)
当我现在sudo -u johndoe mount /dev/sda3
执行命令stat -c %U /foo/bar/baz
结果root
而不是johndoe
. 使用 uidjohndoe
设置挂载这个 ext4 文件系统的最佳方法是什么?
我有一个管理员帐户,最近我不小心将自己添加到一个组中(usermod -G
没有-a
)。
所以,我不再在 sudoers 文件中了。但是,默认情况下无法在 Ubuntu 上登录到 root。我是否在引导过程中重置root 的密码?
我想在PATH中添加一些命令,以便我可以方便地使用它们,例如:
export $PATH = "$PATH:/opt/storm/bin"
Run Code Online (Sandbox Code Playgroud)
但有时storm
需要root权限,但是当我使用它时sudo
,Ubuntu找不到该命令。
sudo storm nimbus
Run Code Online (Sandbox Code Playgroud)
使用时如何找到这些命令sudo
?
我写了一个建议使用sudo -i nautilus
. 我知道这gksu
已被弃用,我的印象sudo -i
是我们应该如何以 root 身份运行图形应用程序而不杀死小猫,但有人评论说“pkexec
是新的gksu
”。我的理解是这pkexec
与使用任何形式的不同sudo
:
并且需要设置,尤其是与图形应用程序一起使用时:
当我做的sudo -i
一切总是有效的时候,为什么我要去配置的麻烦pkexec
?我可以看到,为了编写一个以 root 身份启动某些内容的脚本,我需要这样做:
我可以在 Python 脚本或 .desktop 文件中使用 pkexec 吗?
但除此之外,我从使用中获得什么pkexec
?我应该什么时候使用这些命令?目前以 root 身份打开图形应用程序的最佳实践是什么?
(我已经阅读了......man
页面,但我感觉没有更明智。)
我正在尝试将 Node.js API 作为服务运行,但遇到了问题。
运行时systemctl status servicename.service
出现以下错误:
servicename.service - [Service description]
Loaded: leaded (/etc/systemd/system/servicename.service; enabled; vendor preset: enabled)
Active: failed (Result: start-limit-hit) since [timestamp] ago
Process: 1142 ExecStart=/usr/bin/node /home/pi/Documents/server.js (code=exited, status=0/SUCCESS)
Main PID: 1142 (code=exited, status=0/SUCCESS)
[timestamp] hostname systemd[1]: servicename.service: Service hold-off time over, scheduling restart.
[timestamp] hostname systemd[1]: Stopped [Service description]
[timestamp] hostname systemd[1]: servicename.service: Start request repeated too quickly.
[timestamp] hostname systemd[1]: Failed to start [Service description]
[timestamp] hostname systemd[1]: servicename.service: Unit entered failed state.
[timestamp] …
Run Code Online (Sandbox Code Playgroud)