VNC-Viewert如何设置置于最前端
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VNC-Viewert如何设置置于最前端相关的知识,希望对你有一定的参考价值。
在配置VNC前,必须了解VNC的运行机制。Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(display number)来区分,每个vncserver服务监听3个端口,它们分别是:
5800+显示编号: VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。
5900+显示编号: VNC服务端与客户端通信的真正端口,必须无条件开放。
6000+显示编号: X监听端口,可选。
显示编号、开放的端口分别由/etc/sysconfig/vncservers文件中的VNCSERVERS和VNCSERVERARGS控制。
VNCSERVERS的设置方式为:
VNCSERVERS="显示编号1:用户名1 …"
如:
VNCSERVERS="1:root 2:aiezu"
VNCSERVERARGS的设置方式为:
VNCSERVERARGS[显示编号1]="参数一 参数值一 参数二 参数值二 ……"
如:
VNCSERVERARGS[2]="-geometry 800x600 -nohttpd"
VNCSERVERARGS的详细参数有:
-geometry 桌面分辨率,默认1024x768;
-nohttpd 不监听HTTP端口(58xx端口);
-nolisten tcp 不监听X端口(60xx端口);
-localhost 只允许从本机访问;
-AlwaysShared 默认只同时允许一个vncviewer连接,此参数允许同时连多个vncviewer;
-SecurityTypes None 登录不需要密码认证VncAuth默认值,要密码认证。
(2)修改/etc/sysconfig/vncserver文件:
熟悉Linux下VNC的运行机制后,开始正式配置VNC Server。vi /etc/sysconfig/vncserver,添加如下三行:
VNCSERVERS="1:root 3:aiezu"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp"
VNCSERVERARGS[3]="-geometry 1024x768 -nolisten tcp"
本例我们开启两个vncserver,分别是root用户,显示编号为1和用户aiezu,显示编号为3,并且全不开启X监听端口60xx。
(3)设置VNC用户密码:
接下来设置VNC的密码,此步骤不可跳过,否则VNC Server将无法启动,在Linux Shell下执行下列命令:
# su - aiezu
# vncpasswd
Password:
Verify:
# su - root
# vncpasswd
Password:
Verify:
service vncserver start //启动vncserver
运行上面命令后,会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件。其中passwd为vnc用户密码文件,由vncpasswd生成。其他的都由vnc初次启动时生成,xstartup为VNC客户端连接时启动的脚本。
(4)修改".vnc/xstartup"文件:
执行到上面步骤后,VNC Server已经能正常运行。但是默认设置下,客户连接时启动的是xterm,我们如果想看到桌面,必须将用户根目录下的".vnc/xstartup"文件中的最后两行注释掉,然后根据你安装的桌面坏境,添加一行"startkde &"或者"gnome-session &"。如下:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startkde &
# gnome-session &
配置完各个用户根目录下的".vnc/xstartup"后,执行service vncserver restart 重新启动vncserver使配置生效。
IIS7服务器管理工具好处:批量管理、定时上传下载、同步操作、数据备份、到期提醒、自动更新。IIS7服务器管理工具适用于Windows操作系统和liunx操作系统;支持Vnc客户端和Ftp客户端批量操作。
参考技术A 如果你VNC已经运行了就到进程里把所有的winvnc.exe关掉。不关掉的话是无法打开winvnc设置的。vncviewer如何设置自动接收
然后到UltraVNC目录下将UltraVNC.ini文件删掉或重命名,随后,再双击winvnc.exe进行其它设置。
vncviewer如何设置自动接收
在Authentication下输入二次一样的密码。
vncviewer如何设置自动接收
Require MS Logon(User/Pass./Domain)选项是说连接到目标电脑的时候需要输入帐号和密码,为了方便我们一般不选。不选它就可以直接连到目标电脑时直接输入密码即可。
vncviewer如何设置自动接收
5
然后在选中Display Query Window(显示查询窗口)
vncviewer如何设置自动接收
6
然后把Timeout的时间设置为2(这个时间就是接收显示目标电脑的时间,具体设置几秒,看你自己的喜好。)
如何使用 Cocoa api 启动应用程序并将其置于最前面?
【中文标题】如何使用 Cocoa api 启动应用程序并将其置于最前面?【英文标题】:How to launch application and bring it to front using Cocoa api? 【发布时间】:2010-02-25 09:55:43 【问题描述】:我对可可编程很陌生,我找不到执行以下操作的方法:
按名称启动特定应用程序 做一些工作 稍后带上我已经开始做前台进程的那个应用程序从我在 Carbon API 中找到的内容来看,我应该使用的调用是 launchApplication() 和 setFrontProcess()。
但是如何在 Cocoa 中做到这一点? IE。启动它,获取 PID,将该 PID 设置为前端进程。我试图用谷歌搜索示例,但一无所获......
如果你们中的任何人都可以提供一个很棒的简约样本:)
提前致谢。
【问题讨论】:
【参考方案1】:启动应用程序:
[[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Safari.app"];
激活应用:
NSRunningApplication* app = [NSRunningApplication
runningApplicationWithProcessIdentifier: PID];
[app activateWithOptions: NSApplicationActivateAllWindows];
// or
NSArray* apps = [NSRunningApplication
runningApplicationsWithBundleIdentifier:@"com.bla.blah"];
[(NSRunningApplication*)[apps objectAtIndex:0]
activateWithOptions: NSApplicationActivateAllWindows];
【讨论】:
我试图以这种方式从后台进程启动应用程序,但如果执行此操作的进程不是 GUI 应用程序,这种启动方法似乎在 Lion 或更高版本中不起作用。跨度>NSApplicationActivateAllWindows
选项将导致所有应用程序窗口出现,这几乎总是不是您想要的。相反,您可以传入 NSApplicationActivateIgnoringOtherApps
来激活应用程序中最近处于活动状态的窗口。【参考方案2】:
要启动应用程序,请使用NSWorkspace
类:NSWorkspace Reference
具体来说,launchApplication:
函数。
我不知道激活部分的答案。你可以用-[NSApplication activateIgnoringOtherApps:]
激活你自己的应用程序,但我不知道如何为其他应用程序激活。
【讨论】:
谢谢。那是正确的功能,是的,我看到了,但是我找不到找到pid并稍后重用它的方法。让我们等待也许有人知道答案:)【参考方案3】:你查看NSRunningApplication了吗?
【讨论】:
【参考方案4】:NSRunningApplication 在 Mac OS X 10.6 或更高版本上可用。
如果您必须支持较早的系统,可以使用 GetCurrentProcess() 和 SetFrontProcess() 等 API 以及旧的 ProcessSerialNumber 结构来完成。
【讨论】:
【参考方案5】:对于 Swift2 版本
启动应用:
let task = NSTask()
task.launchPath = "/usr/bin/env"
task.arguments = ["/Applications/TextEdit.app/Contents/MacOS/TextEdit"]
task.launch()
使用捆绑标识符获取应用程序:
var apps: [AnyObject] = NSRunningApplication.runningApplicationsWithBundleIdentifier("com.apple.TextEdit")
var MyApp: [NSRunningApplication] = apps as! [NSRunningApplication]
for app in MyApp
我还在寻找方法来了解应用程序的“活动”、“隐藏”等状态,但直到现在还没有成功。
【讨论】:
【参考方案6】:在 swift 4 中,您可以使用NSWorkspace.shared.launchApplication(appName:)
打开应用程序。在我的情况下,它也使启动的应用程序位于前面。
你也可以试试:
do
try NSWorkspace.shared.launchApplication(at: yourAppURL,
options: .andHideOthers,
configuration: [:])
catch
printError("Failed to launch the app.")
选项
andHideOthers
:隐藏除新启动的应用之外的所有应用。
【讨论】:
【参考方案7】:使用 Objective C 在 Mac 中打开应用程序
#import <Cocoa/Cocoa.h>
int main(int argc, const char * argv[])
@autoreleasepool
// insert code here...
[[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Books.app"];
return 0;
【讨论】:
以上是关于VNC-Viewert如何设置置于最前端的主要内容,如果未能解决你的问题,请参考以下文章