virtualbox 有什么办法向虚拟机发送SysRq组合键?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

virtualbox 有什么办法向虚拟机发送SysRq组合键?

#1

帖子 科学之子 » 2014-02-27 14:51

virtualbox 有什么办法向虚拟机发送SysRq组合键?
比如实机可以按Alt+Ctrl+SysRq+S,可以同步磁盘数据,但虚拟机按同样的组合键,或者Host+SysRq+S,都没用.
顺便再提一下另一个问题,就是虚拟机的显示器大小(不是分辨率),有没有办法调整?(比如虚拟机运行着一个根本不支持分辨率调整的OS,比如说运行一个文字界面的发行版)

Sun Mar 2 04:15:28 CST 2014补充:
就算调整到全屏,虚拟机也依然不接受组合键,在TTY等界面,调整到全屏也不会起到扩大虚拟机显示器的作用.

Tue Mar 11 00:23:44 CST 2014补充:
首先感谢poloshiao的耐心解答.
下面总结一下答案:
向虚拟机发送特殊按键(包括但不仅限于maigic key):见7楼回复,showkey如何调整自动结束时间,见第二页16楼poloshiao的方法,按照该方法安装showkey之后man showkey即可找到设定方法.

虚拟机屏幕大小:
虚拟机屏幕大小的问题可以调整虚拟机到scaled模式,不论虚拟机运行着何种操作系统,这种方法都会有效.
具体到linux下的tty,可以在有一些方法调整解析度,详见6楼poloshiao的回复.
上次由 科学之子 在 2021-06-02 21:18,总共编辑 9 次。
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#2

帖子 poloshiao » 2014-02-27 15:34

Alt+Ctrl+SysRq+S
試試
Ctrl+SysRq+S
虚拟机的显示器大小
下載 Virtualbox Manual
P.24 (4.3.8 版)
1.8.5 Resizing the machine’s window
You can resize the virtual machine’s window when it is running.
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#3

帖子 科学之子 » 2014-03-02 4:13

poloshiao 写了:
Alt+Ctrl+SysRq+S
試試
Ctrl+SysRq+S
虚拟机的显示器大小
下載 Virtualbox Manual
P.24 (4.3.8 版)
1.8.5 Resizing the machine’s window
You can resize the virtual machine’s window when it is running.
我这里的Host按键就是默认的Ctrl,Host是Virtualbox的一个特殊按键,用来进行一些特定工作(比如虚拟机和实机之间的内外切换,貌似还具有Alt+Ctrl的作用).
就算虚拟机全屏,这么按也没用.

虚拟机显示器的大小通过窗口调整,这对于图形界面,比如说X11或者windows会有效果,但如果进入到tty,或者其它之类,就没用了.
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#4

帖子 poloshiao » 2014-03-02 6:49

我这里的Host按键就是默认的Ctrl,Host是Virtualbox的一个特殊按键,用来进行一些特定工作(比如虚拟机和实机之间的内外切换,貌似还具有Alt+Ctrl的作用).
請下載 Virtualbox 4.3.8 使用說明書
http://download.virtualbox.org/virtualb ... Manual.pdf
P.23
1.8.3 Typing special characters
詳細解釋 如何在 host / virtualbox / guest 之間使用 特殊鍵
虚拟机显示器的大小通过窗口调整,这对于图形界面,比如说X11或者windows会有效果,但如果进入到tty,或者其它之类,就没用了.
图片

上面的 tty1 显示器視窗的大小 與 電腦螢幕尺寸大小 會自動調整 完全整合在一起

詳細方法 參閱
Virtualbox Manual
P.24 (4.3.8 版)
1.8.5 Resizing the machine’s window

1. If you have “scale mode” enabled, then ...
2. If you have the Guest Additions installed and they support automatic resizing, ...
3. Otherwise, ...
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#5

帖子 科学之子 » 2014-03-03 19:47

poloshiao 写了:
我这里的Host按键就是默认的Ctrl,Host是Virtualbox的一个特殊按键,用来进行一些特定工作(比如虚拟机和实机之间的内外切换,貌似还具有Alt+Ctrl的作用).
請下載 Virtualbox 4.3.8 使用說明書
http://download.virtualbox.org/virtualb ... Manual.pdf
P.23
1.8.3 Typing special characters
詳細解釋 如何在 host / virtualbox / guest 之間使用 特殊鍵
虚拟机显示器的大小通过窗口调整,这对于图形界面,比如说X11或者windows会有效果,但如果进入到tty,或者其它之类,就没用了.
图片

上面的 tty1 显示器視窗的大小 與 電腦螢幕尺寸大小 會自動調整 完全整合在一起

詳細方法 參閱
Virtualbox Manual
P.24 (4.3.8 版)
1.8.5 Resizing the machine’s window

1. If you have “scale mode” enabled, then ...
2. If you have the Guest Additions installed and they support automatic resizing, ...
3. Otherwise, ...
感谢提醒,我试试看文档.
这个看起来完全适应窗口的大小是固定的,如果在虚拟机是tty时调整virtualbox的窗口大小,会有一块空出来,全屏也是这样,只不过全屏时那块空出来的位置会变成黑色的.
图片
附件
虚拟机tty截图.png
(11.31 KiB) 已下载 3 次
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#6

帖子 poloshiao » 2014-03-04 7:07

如果在虚拟机是tty时调整virtualbox的窗口大小,会有一块空出来,全屏也是这样,只不过全屏时那块空出来的位置会变成黑色的.
1. 你有執行 VBoxLinuxAddition.run 安裝 Guest Additions 嗎
選擇 Seamless windows 功能
參閱 使用說明書
4.5 Seamless windows

2. 另外 你也可以在 開機選單 /boot/grub/grub.cfg 更改 tty1 的 vga=xxx 解析度 來調整 tty1 視窗的大小
2-1. 長期更改 在 /etc/default/grub
參閱
https://help.ubuntu.com/community/BootO ... el_Options
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#7

帖子 科学之子 » 2014-03-07 2:25

poloshiao 写了:
如果在虚拟机是tty时调整virtualbox的窗口大小,会有一块空出来,全屏也是这样,只不过全屏时那块空出来的位置会变成黑色的.
1. 你有執行 VBoxLinuxAddition.run 安裝 Guest Additions 嗎
選擇 Seamless windows 功能
參閱 使用說明書
4.5 Seamless windows

2. 另外 你也可以在 開機選單 /boot/grub/grub.cfg 更改 tty1 的 vga=xxx 解析度 來調整 tty1 視窗的大小
2-1. 長期更改 在 /etc/default/grub
參閱
https://help.ubuntu.com/community/BootO ... el_Options
发送magic key的方法已经找到了.

代码: 全选

VBoxManage controlvm LubuntuTest keyboardputscancode 1d 38 e0 2a e0 37 1f 9f e0 aa e0 b7 9d b8
LubuntuTest是需要向其发送的虚拟机名称,后面的16进制数字是键盘扫描码.
参考资料:http://www.halfdog.net/Misc/TipsAndTric ... alBox.html
参考搜索关键字(词):https://www.google.com.hk/#newwindow=1& ... afe=strict

虚拟显示器大小:
guest additions ISO已经在虚拟机内安装了.
虚拟屏幕大小在普通GUI系统(如X11,windows等)没问题.
但是在诸如操作系统引导菜单,纯字符界面等大小就固定了.
修改内核启动参数的方法只能是针对linux,无法针对整个虚拟机,比如说引导程序菜单,各类系统恢复程序的应急界面(就是在操作系统启动前运行的恢复界面)等.
还有些情况下,guest OS可能根本无法安装guest additions,但他们同样需要调整屏幕大小.

Fri Mar 7 03:00:02 CST 2014补充:
虚拟机显示器大小的问题正在尝试看文档.

Fri Mar 7 05:20:45 CST 2014补充:
对了,有办法缩短showkey的自动终止时间吗?网上说的加-t之类的参数没用.
我这里man showkey没发现有限制自动结束时间的选项或方法.

Fri Mar 7 05:32:07 CST 2014补充:
嗯,仔细看了看,原来scaled模式可以满足我的要求(进入该模式,然后窗口全屏之后很有实机一样的感觉,哈哈)
感谢解答,showkey如果了解的话也希望告知一下,
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#8

帖子 poloshiao » 2014-03-07 9:12

有办法缩短showkey的自动终止时间吗
能夠給個 showkey 有關的網址嗎
以免我們講的是不同程式套件
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#9

帖子 科学之子 » 2014-03-08 1:16

poloshiao 写了:
有办法缩短showkey的自动终止时间吗
能夠給個 showkey 有關的網址嗎
以免我們講的是不同程式套件
呃...不知道怎么找.
就是lubuntu的默认源,您想要得是源地址吗?
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#10

帖子 poloshiao » 2014-03-08 6:43

showkey
man showkey
showkey - examine the codes sent by the keyboard
有這個指令 詳細使用方法 參閱 man showkey 的 --scancodes 參數
showkey [-h|--help] [-a|--ascii] [-s|--scancodes] [-k|--keycodes]
In `ascii' mode the program terminates when the user types ^D.
表示 在 `ascii' mode 按一下 ctrl + D 鍵 可以立刻終止 showkey 的運行
進一步 參閱
1. 設定檔
sudo cat /etc/kbd/config
2. showkey 指令來自 kbd 套件 下面是 kdb 官網使用說明書
http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#11

帖子 科学之子 » 2014-03-08 19:35

poloshiao 写了:
showkey
man showkey
showkey - examine the codes sent by the keyboard
有這個指令 詳細使用方法 參閱 man showkey 的 --scancodes 參數
showkey [-h|--help] [-a|--ascii] [-s|--scancodes] [-k|--keycodes]
In `ascii' mode the program terminates when the user types ^D.
表示 在 `ascii' mode 按一下 ctrl + D 鍵 可以立刻終止 showkey 的運行
進一步 參閱
1. 設定檔
sudo cat /etc/kbd/config
2. showkey 指令來自 kbd 套件 下面是 kdb 官網使用說明書
http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html
但我需要的是-s参数.
ctrl+d对于-s参数是没有效果的,除了magic key组合,貌似他能在结束前捕获一切按键而不被影响,就连切换终端的ctrl+alt+Fx都被他捕获.
我想到了一个变通的方法,就是自己写一个脚本,里面有延迟,延迟小于10秒,延迟到了之后就结束showkey.
这个方法勉强还行,但希望能有更灵活的方法(最好是能按需结束).
另外,官网您是怎么得到到的?我去搜索,不论是showkey还是kbd,都是一堆广告,搜索"kbd showkey"倒是出现了一些相关信息,但仍然没有出现您给的网址.
您用的搜索引擎和关键字是?我用的是google
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#12

帖子 poloshiao » 2014-03-08 20:42

官网您是怎么得到到的?
好像是從 kbd 套件 安裝在 Ubuntu 裏的檔案
下面指令 可以找出 已經安裝的參考文件
sudo dpkg -L kbd | grep /doc
下面指令 可以找出 已經安裝的可以使用的指令
sudo dpkg -L kbd | grep /bin
只要在 指令前面 加上 man 或者在後面加上 --help
就可以學習 指令的用途 以及 如何使用
你可以找找這些指令 哪些可以幫你
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#13

帖子 科学之子 » 2014-03-09 1:00

poloshiao 写了:
官网您是怎么得到到的?
好像是從 kbd 套件 安裝在 Ubuntu 裏的檔案
下面指令 可以找出 已經安裝的參考文件
sudo dpkg -L kbd | grep /doc
下面指令 可以找出 已經安裝的可以使用的指令
sudo dpkg -L kbd | grep /bin
只要在 指令前面 加上 man 或者在後面加上 --help
就可以學習 指令的用途 以及 如何使用
你可以找找這些指令 哪些可以幫你
看了一下您给的网址页面,貌似是介绍PC的键盘扫描码的,而并没有介绍如何使用showkey(使用页面字符串查找功能查找"showkey",没有发现)
从地址上看确实和"kbd"有关,但貌似是在该网站的不同页面,其中"http://www.win.tue.nl/~aeb/linux/kbd/kb ... ,但也仅仅是提到而已.
man和--help已经用过,没有看到时间控制的选项.
dpkg -L来看文档还没试过,尝试之后发现自己不知道该读哪一个...(有多个文件,而且有些貌似还是压缩档,可能(我没试过)需要解压才能阅读)
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#14

帖子 poloshiao » 2014-03-09 6:50

0. 看看 參數 -t N --timeout=N 是不是 你想找的

1. http://www.themanualpage.org/man/man1/showkey.1.php
showkey was developped by Risto Kankkunen for kbd-0.81.
It was later extended by Yann Dirson <[email protected]>
to support the --keymap command and the --timeout option.

2. http://manpages.ubuntu.com/manpages/tru ... key.1.html
參數 可以改變 預設時間 10 秒
-t N --timeout=N
This option changes the timeout (in seconds) from its default of 10s.

3. showkey 來源套件
3-1. http://manpages.ubuntu.com/manpages/pre ... key.1.html
Ubuntu 12.04 以前由 kbd 套件提供 沒有 -t N --timeout=N 參數
3-2. http://manpages.ubuntu.com/manpages/qua ... key.1.html
Ubuntu 12.10 開始由 console-tools 套件提供 才有 -t N --timeout=N 參數

4. 查一下 debian 有沒有 console-tools 套件
4-1. https://packages.debian.org/squeeze/allpackages
console-tools (1:0.2.3dbs-69.1) : Linux 主控台與字型工具組
4-2. https://packages.debian.org/wheezy/allpackages
console-tools (1:0.2.3dbs-70) : Linux 主控台與字型工具組
4-3. 以上版本 都比 Ubuntu 12.10 版本大 推測 應該都有 -t N --timeout=N 參數
http://manpages.ubuntu.com/manpages/qua ... key.1.html
console-tools_0.2.3dbs-65
4-4. 查一下 debian 有沒有安裝 console-tools 套件
sudo dpkg -l | grep console-tools
如果沒有安裝 可以安裝
sudo apt-get install console-tools
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: virutalbox有什么办法向虚拟机发送SysRq组合键?

#15

帖子 科学之子 » 2014-03-09 20:57

poloshiao 写了:0. 看看 參數 -t N --timeout=N 是不是 你想找的

1. http://www.themanualpage.org/man/man1/showkey.1.php
showkey was developped by Risto Kankkunen for kbd-0.81.
It was later extended by Yann Dirson <[email protected]>
to support the --keymap command and the --timeout option.

2. http://manpages.ubuntu.com/manpages/tru ... key.1.html
參數 可以改變 預設時間 10 秒
-t N --timeout=N
This option changes the timeout (in seconds) from its default of 10s.

3. showkey 來源套件
3-1. http://manpages.ubuntu.com/manpages/pre ... key.1.html
Ubuntu 12.04 以前由 kbd 套件提供 沒有 -t N --timeout=N 參數
3-2. http://manpages.ubuntu.com/manpages/qua ... key.1.html
Ubuntu 12.10 開始由 console-tools 套件提供 才有 -t N --timeout=N 參數

4. 查一下 debian 有沒有 console-tools 套件
4-1. https://packages.debian.org/squeeze/allpackages
console-tools (1:0.2.3dbs-69.1) : Linux 主控台與字型工具組
4-2. https://packages.debian.org/wheezy/allpackages
console-tools (1:0.2.3dbs-70) : Linux 主控台與字型工具組
4-3. 以上版本 都比 Ubuntu 12.10 版本大 推測 應該都有 -t N --timeout=N 參數
http://manpages.ubuntu.com/manpages/qua ... key.1.html
console-tools_0.2.3dbs-65
4-4. 查一下 debian 有沒有安裝 console-tools 套件
sudo dpkg -l | grep console-tools
如果沒有安裝 可以安裝
sudo apt-get install console-tools
确实安装的是kbd而非console-tool,但我的lubuntu是13.10,我是直接从lubuntu官网首页,一步步点开网页下载(貌似lubuntu的官网主页中的下载按钮指向的是ubuntu提供的下载服务器)
装上之后是LXDE环境,难道这个发行版分支除了桌面环境,这些套件也不同吗?
回复