如何关机?

sh/bash/dash/ksh/zsh等Shell脚本
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 如何关机?

#31

帖子 aerofox » 2010-06-30 6:40

罗非鱼 写了:这帮回帖的,一个比一个不务实,我的前提条件是,没有sudo 的密码,没有root密码,普通用户根本不能使用那些命令!
用 sudo 也可以不用密码,上面也已经说了,你不务实地去试,有什么办法呢。
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: 如何关机?

#32

帖子 罗非鱼 » 2010-07-02 16:46

pt@pt-laptop:~$ shutdown () { #{{{2
> echo -n 你确定要关机吗?
> read i
> if [ $i = "y" -o $i = "是" ]
> then
> dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
> fi
> }
pt@pt-laptop:~$
我在终端里面输入后,没有任何反应
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 如何关机?

#33

帖子 lilydjwg » 2010-07-02 17:38

罗非鱼 写了:pt@pt-laptop:~$ shutdown () { #{{{2
> echo -n 你确定要关机吗?
> read i
> if [ $i = "y" -o $i = "是" ]
> then
> dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
> fi
> }
pt@pt-laptop:~$
我在终端里面输入后,没有任何反应
废话!你先去学点shell基础好不好?这是定义一个zsh函数方便日后使用的!喜欢敲字的话你直接敲以下命令好了:

代码: 全选

dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

Re: 如何关机?

#34

帖子 gzbao9999 » 2010-07-04 16:32

sys_shutdown
-----------------------------------------------------------------------
#!/bin/sh
PASSWORD=111
echo $PASSWORD | sudo -S shutdown -h now
-----------------------------------------------------------------------
气血鼓荡,身体发胀,偶飘上头,三时舒畅
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: 如何关机?

#35

帖子 罗非鱼 » 2010-07-06 20:40

dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
这句话起作用了。谢谢
pt@pt-laptop:~$ sys_shutdown
sys_shutdown: command not found
这个不行
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 如何关机?

#36

帖子 aerofox » 2010-07-07 5:46

虽然我不太喜欢37楼那种解决方案(因为密码以明文形式放到了文件中),但是看到有人直接去用 sys_shutdown 命令关机,我还是不得不服。
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: 如何关机?

#37

帖子 罗非鱼 » 2010-07-07 12:56

lilydjwg,可否解释一下你的关机命令,太长了,我google,想不太明白。
37楼的意思,我明白呢
在终端中依次输入,
PASSWORD=111
echo $PASSWORD | sudo -S shutdown -h now
不过不符合要求,根本不知道root密码,如何去写这个。
dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
这个是终极解决之道,无须密码,普通用户可以关机。
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 如何关机?

#38

帖子 aerofox » 2010-07-07 18:24

在 Ubuntu 系统中,sudo 默认是使用自己用户的密码,不是 root 的密码。
头像
百草谷居士
帖子: 4025
注册时间: 2006-02-10 16:36
系统: debian12/xubuntu2404

Re: 如何关机?

#39

帖子 百草谷居士 » 2010-09-13 16:25

这个问题其实也困扰我很长时间。楼上诸位给出的办法也很麻烦。其实我想能不能把shutdown命令降级为普通用户可执行的命令呢?

既然普通用户从关机菜单上选择关机时不用输入密码,那么关机本身应该不是超级用户权限吧?
但是这个权限并不是靠shutdown命令文件本身的权限来控制的,那么它的控制权限在哪呢?
Mint 22 / Xubuntu 24.04

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
HuaChong
帖子: 493
注册时间: 2006-09-12 17:10

Re: 如何关机?

#40

帖子 HuaChong » 2010-09-13 17:40

你要想关机可以在后面加参数阿
laofanorc
帖子: 9
注册时间: 2010-08-22 10:02

Re: 如何关机?

#41

帖子 laofanorc » 2010-09-25 22:15

你可以用两个Linux用户同时登录该系统,在其中一个用户中运行你的程序,完成后向另一个用户发送消息或者别的操作比如在两个用户直接建立共享的目录中做些标记让对方知道,前提是那个用户有root权限,然后由那个用户负责关闭计算机
laofanorc
帖子: 9
注册时间: 2010-08-22 10:02

Re: 如何关机?

#42

帖子 laofanorc » 2010-09-25 22:19

你可以用两个Linux用户同时登录该系统,在其中一个用户中运行你的程序,完成后向另一个用户发送消息或者别的操作比如在两个用户直接建立共享的目录中做些标记让对方知道,前提是那个用户有root权限,然后由那个用户负责关闭计算机
头像
卜酷塔
帖子: 45
注册时间: 2008-11-16 23:23

Re: 如何关机?

#43

帖子 卜酷塔 » 2010-10-03 19:51

poweroff
别她妈的以为拿着镰刀和锤子你就是共产党员了。
Ubuntu Desktop Testing 看看你是不是真的还需要Windows se7en。
IBM 为什么不学习一下Oralce 力挺Ubuntu呢?
zoujichun
帖子: 82
注册时间: 2007-05-09 6:50

Re: 如何关机?

#44

帖子 zoujichun » 2010-10-03 22:28

给你方案:
sudo -i 获得 root shell;
su - user -c "你的命令" && shutdown -h now;
我的博客:关注Linux 企业应用,桌面折腾,python,perl,shell
THINKERCN
帖子: 79
注册时间: 2008-10-21 11:17

Re: 如何关机?

#45

帖子 THINKERCN » 2010-10-08 16:51

编辑/etc/sudoers,在该文件的最后加上以下内容:
你的用户名 all=(root) NOPASSWD:poweroff
想关机时,执行 sudo poweroff
回复