“程序” 标签页面:

  • CentOS在SSH中运行GUI图形界面程序

    最近需要在CentOS中运行FreeRapid,是一个图形界面的网盘下载器。

    一般情况来说,设置好JAVA_HOME、PATH等系统环境变量后,运行以下命令即可:

    java -jar frd.jar > /dev/null 2>&1 &

    但我的CentOS是无桌面环境的服务器系统,那怎么配置运行呢?步骤如下。

    首先,打开/etc/ssh/sshd_config,修改:

    X11Forwarding yes
    X11UseLocalhost yes

    然后重启sshd:

    service sshd restart

    重新登入ssh,若出现“WARNING! The remote SSH server rejected X11 forwarding request.”,则需要安装以下组件:

    yum install xorg-x11-xauth xterm

    若运行Java程序时出现“No X11 DISPLAY variable was set, but this program performed an operation which requires it.”,则:

    export DISPLAY=localhost:10.0

    localhost:10.0只是一个常用的例子,具体要根据用户本机的X11 server来设定;如果用Xmanager,在SSH的属性设置的Tunneling中forward到Xmanager了,登录SSH会自动设置好这个系统环境变量的。

    若出现“libXtst.so.6: cannot open shared object file: No such file or directory”,则安装必要组件:

    yum install libXi libXp libXtst

    还有个问题,SSH中用screen是很方便的,但是screen中运行X11图形界面程序就很麻烦了,解决方案有以下几个:

    1、用proxy-display这个小脚本,不过兼容性有点问题。https://blog.nelhage.com/2010/05/using-x-forwarding-with-screen/

    2、用xpra,号称是“X窗口环境中的screen”,相关网址是http://xpra.org

    3、不用X11转发,改用VNC进行远程图形界面传输,这是个很好的方案。还可以弥补X11 forwarding的性能卡顿问题。这个解决方案我会整理另一篇文章,参见《CentOS使用VNC查看X11图形界面窗口》:。

    2014.02.11 / 1 条评论 / 3,676 次点击 / 分类: 所谓技术

  • 沙盘Sandboxie运行命令行程序显示0xc0000142错误解决办法

    在某些版本的沙盘(一般是sanboxie 3.56及以下版本),无论运行什么命令行程序,都会出现以下错误:

    ---------------------------
    cmd.exe - 应用程序错误
    ---------------------------
    应用程序无法正常启动(0xc0000142)。请单击“确定”关闭应用程序。
    ---------------------------
    确定  
    ---------------------------

    这主要出现于Win7系统,原因是7月份的一些更新会使得系统的命令行程序的运行行为发生改变。解决的办法是:

    1. 启动Sandboxie Control
    2. 右击希望能运行控制台程序的沙盘,选择“沙盘设置”
    3. 展开“资源访问”——“IPC访问”——“直接访问”
    4. 添加“\RPC Control\ConsoleEvent-0x*”和“\RPC Control\ConsoleLPC-0x*”两项

    这时候应该可以解决沙盘的命令行程序运行错误的问题。

    2011.08.02 / 1 条评论 / 1,975 次点击 / 分类: 所谓技术

  • Visual Studio调试汇编程序

    用Visual Studio来调试汇编程序是很方便的。大部分操作和调试C++一样,很容易上手。

    设置断点:

    只要在代码左侧点击一下,出现一个粉红色的圆点,就是断点,按F5或者那个工具栏中绿色的小箭头,开始调试,执行到断点程序就会暂停下来了。

    监视变量:

    默认布局里,左下方有一个窗口,里面有个监视的标签,切换到该标签即可监视变量。如果没有监视的标签,可以选择“调试”——“窗口”——“监视”——“监视1”来打开。

    一般监视寄存器是显示无符号的十进制值。我们可以右击监视窗口,选择“十六进制显示”来显示十六进制的值。同时,可以在变量前加(signed)来监视有符号的变量。比如监视eax,显示的是无符号的值,修改为“(signed)eax”后,显示的是有符号的eax的值。

    监视寄存器:

    选择“调试”——“窗口”——“寄存器”,可以打开寄存器的监视窗口。如果有一些值没有看到,可以右击该窗口,选择需要显示的寄存器组。

    特别要说明的是,“标志”这一组寄存器的名字和一些书上的描述不同。列一下出来:

    Key to flag abbreviations

    Flag Name Abbreviation
    Overflow OV
    Direction UP
    Interrupt EI
    Sign PL
    Zero ZR
    Aux Carry AC
    Parity PE
    Carry CY

    监视内存:

    选择“调试”——“窗口”——“内存”,可以打开内存监视窗口。

     

    PS:刚刚在股沟搜索如何用VS调试汇编程序,结果在第一页没找到什么有用的内容,倒是找到自己的博客,唉……

    本文参考了http://asmirvine.com/debug/vstudio2005/index.htm相关内容。此网站在中国大陆已被和谐,无法直接访问。

    2009.11.05 / 暂无评论 / 1,558 次点击 / 分类: 所谓技术

  • C语言TC中暂停程序运行

    两种方法:

    1.使用getch()函数。
    说明:
    char getch(void)
    参数:无。
    返回值:字符。
    作用:从键盘取一字符,但不显示在屏幕上。
    使用:
    #include <stdio.h>
    #include <conio.h> /* 必须的 */

    int main()
    {
    printf("\tpress any key to quit...");
    getch();
    return 0;
    }

    2.system("Pause")
    system("Pause")表示直接调用DOS命令Pause。
    说明:
    void system(char *cmd);
    参数cmd,DOS命令,如Pause, cls
    返回值:无。
    使用:
    #include <stdio.h>

    int main()
    {
    system("Pause");
    return 0;
    }

    2008.05.21 / 暂无评论 / 971 次点击 / 分类: 所谓技术

  • 光盘自动启动程序第一版正式版开发成功!

    爬了4天的AS3代码,今天终于开发成功了以Flash为基础的光盘自动启动程序。

    在测试版中,各菜单条是按需定做。到了正式版,终于可以自己动手,丰衣足食。原理是程序读取配置文件作为变量。这标志着程序已经由计划经济式定做转向按需分配的共产主义高级阶段,是程序进步的一小步,技术进步的一大步。

    然而,AS3难用啊……以前积累的AS2几乎全部被推倒,要重新学习……对,推倒……

    虽然第一版开发完毕,但我们要不骄不躁,继续向前,为了伟大的AS3革命,淌着同志的鲜血,踩着战友的尸体,冲吧!

    2008.03.30 / 暂无评论 / 456 次点击 / 分类: 所谓技术