sudo -i和sudo -s有啥区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sudo -i和sudo -s有啥区别相关的知识,希望对你有一定的参考价值。
sudo -i是Linux终端命令下改变用户对命令使用权限的命令,例如,在Linux命令终端中,开始为“user@ubuntu:~$”,当使用该命令后,会出现输入密码的提示,之后输入密码,就会变为“root@ubuntu:~#”,这样就是改变了用户对一些命令的权限。sudo-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell 。 参考技术A
sudo -i:
Linux终端命令下改变用户对命令使用权限的命令。
sudo-s :
执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell 。
sudo:
sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。
参考技术B sudo -i,加载用户变量,并跳转到目标用户home目录;sudo -s,不加载用户变量,不跳转目录; 参考技术C 参数:
-V 显示版本编号
-h 会显示版本编号及指令的使用方式说明
-l 显示出自己(执行 sudo 的使用者)的权限
-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b 将要执行的指令放在背景执行
-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )本回答被提问者采纳
如何在对话框窗口Qt C++中启动主窗口[重复]
【中文标题】如何在对话框窗口Qt C++中启动主窗口[重复]【英文标题】:How to start Main Window inside Dialog Window Qt C++ [duplicate] 【发布时间】:2016-12-13 10:36:07 【问题描述】:我使用 QDialog Window 制作了以下面板:
我想,我点击“确定”按钮查看MainWindow。
我写了下面的代码,但是没有用
void QDialog::pushButton_clicked()
MainWindow w;
w.show();
【问题讨论】:
【参考方案1】:如果您的 QApplication exec()
已经在运行,您仍然可以打开 QMainWindow
,但是,在您的示例中,您在函数内部的堆栈上创建 MainWindow
,它的范围在致电show()
。
这意味着一旦pushButton_clicked()
函数返回,MainWindow 对象将被释放。
提示:将 MainWindow 的声明移至其他位置,例如给它一个全局范围或将其移动到您自己的 QApplication 类的声明中,等等。
【讨论】:
你就是一个例子。 @斯蒂夫【参考方案2】:除了Steeves answer,您还可以将代码更改为
MainWindow *w = new MainWindow();
w->setAttribute(Qt::WA_DeleteOnClose);
w->show();
堆上的分配将防止直接“释放”,WA_DeleteOnClose 确保在您关闭窗口时释放内存。
如果您想要一个不知道其作用域的独立窗口,这是一个好方法。
【讨论】:
Qdialog 窗口在主窗口中运行。在 QDialog 中编写此代码时,QDialog 再次打开。它不打开主窗口。 @ab.o2c 你是调用构造函数中的Dialog还是MainWindow的show()函数? int main (int argc, char *argv) QApplication a(argc, argv); QDialog w; w.show();返回 a.exec(); //MainWindow 类 @ab.o2c以上是关于sudo -i和sudo -s有啥区别的主要内容,如果未能解决你的问题,请参考以下文章