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如何设置置于最前端的主要内容,如果未能解决你的问题,请参考以下文章

如何设置窗口在最前面?

html如何将一个div置于最上层

CSS如何把DIV永远置于页面的底部?

winform 如何将panel中的某一个控件置于最上层?

如何在 iOS 中将堆栈视图中的第一个视图置于最前面? [复制]

winform如何让弹出窗口始终置于程序最顶层