{ "hasFoldAllCodeBlocks": true, "svgColor": "#6c757d", "en": false, "dark": true }

搜索

[{"content":"什么是 vnc? vnc (virtual network computer)是虚拟网络计算机的缩写。它 是一款优秀的远程控制工具软件,由著名的 at\u0026amp;t 的欧洲研究实验室开发的。 vnc 是在基于 unix 和 linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 windows 和 mac 中的任何远程控制软件媲美。\n在 linux 中,vnc 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。\n大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer。\n关于 vnc 的服务端配置请自行搜索。\nwindows 版: download tightvnc realvnc | download vnc for windows 穿越内网远程控制 服务端(vnc server)在内网,客户端(vnc viewer)需要有公网 ip。原理是由服务端反向朝着客户端(需要监听端口)发送连接请求。\nvnc viewer 监听\n下载: realvnc | download vnc viewer\nwindows 版启动监听\n在快捷方式中加入 -listen 参数,启动后会最小化到任务栏图标。\nlinux 启动监听\nvncviewer -listen vnc server 端请求\nvncconfig -display :1 -connect 监听端公网-ip:端口(默认 5500 端口) 遇到的问题 如果客户端也在内网的话,也是无法直接连接的(不能内网 to 内网,只能内网 to 公网)。必须把内网映射到外网。有以下两种方法: 设置 dmz 主机:主机地址设置为客户端机器 ip 端口映射:把外网端口映射到客户端机器的 5500 端口,比如:公网 8800 -\u0026gt; 客户机 5500,服务器端连接方式如下: vncconfig -display :1 -connect 公网-ip:8800 ","date":"2016-07-06","permalink":"http://blog.yangwenjian.cn/posts/vnc-viewer-listen-through-network/","summary":"什么是 vnc? VNC (Virtual Network Computer)是虚拟网络计算机的缩写。它 是一款优秀的远程控制工具软件,由著名的 AT\u0026amp;T 的欧洲研究实验室开发的。 VNC 是在基于 UNIX 和 Linux 操作系统的免费的","title":"使用 vnc 穿透内网远程控制"},{"content":"原因: 公司网站上的电子杂志书刊是使用 zmaker 制作的,但是不幸的是 zmaker 倒闭,网上找了很多方法,都无法在线生成电子杂志。\n制作方式: 通过对 zmaker 在线生成的电子杂志目录的分析,每一个电子杂志下面除了图片,都会包含以下文件\nactions.swf appendfile.xml config.xml flash.xml gg.swf lframe.swf online.html pagelist.xml rframe.swf show.swf zcommain.swf 这些文件只有 pagelist.xml 文件不同。这个文件中包含了在电子杂志中显示的图片的信息,通过 pagelist.xml 文件进行图片名称以及显示顺序的管理。\n\u0026lt;?xml version=\u0026#34;1.0\u0026#34; encoding=\u0026#34;utf-8\u0026#34;?\u0026gt; \u0026lt;pagelist\u0026gt; \u0026lt;page id=\u0026#34;0\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;590,825\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;00.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;1\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;01.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;2\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;02.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;3\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;03.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;4\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;04.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;5\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;05.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;6\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;06.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;7\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;07.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;8\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;08.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;9\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;09.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;10\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;10.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;11\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;11.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;12\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;12.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;13\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;13.jpg\u0026#34; /\u0026gt; \u0026lt;page id=\u0026#34;14\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;808,595\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;14.jpg\u0026#34; /\u0026gt; \u0026lt;/pagelist\u0026gt; code snippet 1: pagelist.xml 以上是 pagelist.xml 文件中的内容,其中\n\u0026lt;page id=\u0026#34;0\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;590,825\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;00.jpg\u0026#34; /\u0026gt; 保存的就是显示的图片的信息。其中 id=\u0026ldquo;0\u0026rdquo; 这个是定义图片显示的顺序,pagesize=\u0026ldquo;808,595\u0026rdquo; 是图片的大小,swf=\u0026ldquo;00.jpg\u0026rdquo; 是图片的名字。我们只要把图片根据显示顺序把图片名称按照 00.jpg 的格式命名,然后根据图片的个数修改\n\u0026lt;page id=\u0026#34;0\u0026#34; lockroot=\u0026#34;true\u0026#34; bshowpage=\u0026#34;1\u0026#34; pagesize=\u0026#34;590,825\u0026#34; backgoundcolor=\u0026#34;ffffff\u0026#34; swf=\u0026#34;00.jpg\u0026#34; /\u0026gt; 的个数,然后和其他的 zmaker 的配置信息放到一个目录下,就和使用 zmaker 在线生成的电子杂志是一样的效果了。\n通过以上方式,我们就不再需要 zmaker 软件,可以自定义显示图片来制作在线电子杂志了。\n","date":"2015-12-09","permalink":"http://blog.yangwenjian.cn/posts/manual-make-online-zmaker/","summary":"原因: 公司网站上的电子杂志书刊是使用 zmaker 制作的,但是不幸的是 zmaker 倒闭,网上找了很多方法,都无法在线生成电子杂志。 制作方式: 通过对 zmaker 在线生成的电子杂志目录的分析,每一","title":"手动编辑制作 zmaker 在线电子杂志"},{"content":"alart 是个什么 使用 alart 可以实现在 emacs 中通过弹窗的方式给用户发消息。 alart 支持 mac, 在 mac 下可以使用 growl for mac。 alart 默认是支持 growl for mac, 无需其他设置,安装好 growl 和 growlnotify 后直接可以使用。\n请从 emacswiki 找答案:emacswiki: alert\nalert github: jwiegley/alert\nmac 下的 growl,growl for mac 要在 mac 下使用 alart,先要安装 growl 和 growlnotify 。\nappstore 中给出的说明是这样的 growl 是 mac 通知系统的终极解决方案。这是获知各种应用的情况或通知的最简单快速的方式,无论您是否在电脑前。\n有天我们在 adium 上交流,同时在处理 iphoto 上的照片。因为谈话的内容比较重要,我们不得不在收到每条消息时都切换应用来查看。无论是否与这次谈话相关,我们都得切换到 adium 才能知道具体内容。这就是 growl 出现的原因,来回切换很让人崩溃。实时的通知系统能让你快速了解你需要知道的一切。growl 友好的通知和 rollup 窗口,让你不会漏掉所有消息,无论你是否暂时离开了你的 mac。\n之前从未有如此个性化并高效的通知系统。你能以多种方式接收通知,包括显示在屏幕上,通过电子邮件,甚至可以让电脑读出来。另外,如果你懂得一点 web 技术(css/xhtml/javascript),你就可以创建你自己想要的 growl 通知样式。\n列出一些很棒的特性。\n自定义通知。选择 growl 的样式,尝试体验一下。 在你离开的时候 growl 还是努力工作。 然后回到 mac,在 rollup 里看看你离开的时候都发生了什么。 易用的应用栏,定制你想收到和拒绝的消息。 使用 speech 样式来听通知,对于视力略差的使用者很有帮助。 实用的通知历史,帮助你纵观所发生的全部。 growl 自带许多不同的样式。比如 nano 样式显示地都很小,而 music video 则都是大字。 用 web 技术发明你自己的 growl 样式,用你的品味定制 growl。 从 cocoa,applescript,网络都能给 growl 发送通知。 网络支持。两个或多个 mac 之间就能互相转发通知。 通过 prowl,甚至可以在 iphone 和 ipad 上收到通知。 如何获得 growl for mac grow fro mac 的官方主页:growl\ngrow 官方兼容 os x 10.7 或更高版本的是收费的,不过有一个 growl fork ,是在 growl 最后开放的源代码版本(1.22 版)基础上改进的,修复了原来版本在 mac os x 10.7 lion 崩溃的问题,依然免费提供。\ngrowl fork 可以从这里下载:growl fork – 免费的消息通知系统 mac\n下载后直接安装便可使用,在安装完 growl 后,还要安装 growlnotify ,在 extras 下。顾名思义, growlnotify 是给 growl 发通知的。\n安装好了 growl 和 growlnotify 后,在 emacs(需要装 alert)中\n(alert \u0026#34;hello growl\u0026#34;) 屏幕上就会出现以当前 buffer 名为标题的弹窗:\u0026ldquo;hello growl\u0026rdquo;。\nalert 如何工作 那么 emacs 的 alert 是如何工作的呢。\nalert 中是如何使用 growl 的 (defun alert-growl-notify (info) (if alert-growl-command (let ((args (list \u0026#34;--appicon\u0026#34; \u0026#34;emacs\u0026#34; \u0026#34;--name\u0026#34; \u0026#34;emacs\u0026#34; \u0026#34;--title\u0026#34; (alert-encode-string (plist-get info :title)) \u0026#34;--message\u0026#34; (alert-encode-string (plist-get info :message)) \u0026#34;--priority\u0026#34; (number-to-string (cdr (assq (plist-get info :severity) alert-growl-priorities)))))) (if (and (plist-get info :persistent) (not (plist-get info :never-persist))) (nconc args (list \u0026#34;--sticky\u0026#34;))) (apply #\u0026#39;call-process alert-growl-command nil nil nil args)) (alert-message-notify info))) 参数都是什么? 最后的调用命令是\ngrowlnotify --appicon emacs --name emacs --title emacs-alart-for-windows.org --message test --priority 0 windows 下的 growl,growl for windows 下载地址:http://www.growlforwindows.com/gfw/\n下载安装在控制台下测试都没有问题,可是通过 alert 怎么也掉不出。后来看下来 alert-growl-notify,穿的参数都是 growl for mac 的参数格式, windows 下水土不服。\ngrowl for windows 使用帮助:growl for windows name growlnotify -- send a growl notification to a local or remote host synopsis growlnotify [/t:title] [/id:id] [/s:sticky] [/p:priority] [/i:icon] [/c:coalescingid] [/a:application] [/ai:appicon] [/r:types] [/n:type] [/cu:callbackurl] [/host:host] [/port:port] [/pass:password] [/enc:algorithm] [/hash:algorithm] [/silent:suppressoutput] messagetext 虽然有了 growl for windows ,但是给它们传的参数形式不一样\nmac windows applicaton icon \u0026ndash;appicon appicon /ai:appicon name \u0026ndash;name name /n:type title \u0026ndash;title title /t:title message \u0026ndash;message messagetext messagetext priority \u0026ndash;priority priority /p:priority 解决思路 一个是再写一个 (defun alert-growlwin-notify (info)) ,只看得懂一点 emacs lisp,写的难度太大,所以就用了第二个方法,加了一层 wrapper,拿到参数的值再传给 growlnotify 。\n","date":"2015-10-29","permalink":"http://blog.yangwenjian.cn/posts/emacs-alart-for-windows/","summary":"alart 是个什么 使用 alart 可以实现在 emacs 中通过弹窗的方式给用户发消息。 alart 支持 Mac, 在 Mac 下可以使用 Growl for Mac。 alart 默认是支持 Growl for Mac, 无需其他设置,安装好 Growl 和 growlnotify 后直接可以使用。 请从 EmacsWIki 找","title":"use alart in emacs for windows"},]
✖
天行健,君子以自强不息;地势坤,君子以厚德载物