需求:通过nwjs实现一个可以全屏显示,防止用户退出浏览器的演示用app

一、安装Node.js

sudo apt-get install nodejs

sudo apt-get install npm

这种方法安装的版本可能不是最新的,可以尝试直接从官网(https://nodejs.org/en/download/)下载。

解压下载的node-v6.11.4-linux-x64.tar.gz文件之后建立软链接即可:

sudo ln -s ~/node-v6.11.4-linux-x64/bin/node /usr/local/bin/node

sudo ln -s ~/node-v6.11.4-linux-x64/bin/npm /usr/local/bin/npm

sudo ldconfig

如果下载的是Source Code(node-v6.11.4.tar.gz),那么需要在解压后的目录自行编译:

./configure

make

make install

如果遇到所需环境版本问题,在sudo apt-get update && apt-get upgrade后用apt-get remove旧版本后install就好

二、安装nwjs

在官网(http://nwjs.io/)上下载nwjs-sdk-v0.25.4-linux-x64.tar.gz,解压后建立软链接:

sudo ln -s ~/nwjs-v0.18.8-linux-x64/nw /usr/local/bin/nw

sudo ldconfig

进入目录后可以看到nw文件,运行./nw命令查看是否可以正常运行。

三、nwjs使用示例

1.创建html文件

首先创建一个简单的Demo.html文件:

Demo

Visit Baidu

2.创建package.json文件

用来进行初始化配置:

{

"name": "Demo",

"main": "Demo.html",

"window": {

"title": "Demo",

"toolbar": false,

"frame": true,

"position": "center",

"always-on-top": true,

"fullscreen": true,

"width": 1920,

"heigth": 1080

}

}

这里实现了一个去掉了工具栏的全屏效果

3.打包文件运行

创建好两个文件之后将其打包:

cat package.json Demo.html > Demo.nw

这时新打包出来的nw文件就可以运行了:

sudo ./nw Demo.nw

创建桌面图标

这里想要实现一个双击启动的效果,类似.exe文件的运行效果。根据官方教程使用cat `which nw` app.nw > app && chmod +x app创建的app一直无法使用,所以想出了一个取巧的办法:

1. 创建一个bash脚本start.sh启动Demo.nw:

#!/bin/bash

cd /home/ubuntu/Desktop/nwjs-v0.18.8-linux-x64

./nw demo.nw

找一个app图标,命名为icon.jpg

在桌面创建一个Demo.desktop图标,使用sudo nano Demo.desktop命令打开后写入:

[Desktop Entry]

Encoding=UTF-8

Name=Demo

Exec=sh /home/ubuntu/Desktop/nwjs-v0.18.8-linux-x64/start.sh

Icon=/home/ubuntu/Desktop/nwjs-v0.18.8-linux-x64/icon.jpg

Info="Spark"

Categories=GTK;Network;message;

Comment="demo_nwjs"

Terminal=false

Type=Application

StartupNotify=true

Name[zh_CN]=Demo

这时双击就能看到运行结果了

屏蔽按键

package.json中配置了全屏并且去掉工具栏,就是为了防止用户退出浏览器,具体操作步骤如下:

1. 在设置中可以关闭快捷键,并自定义一个快捷键呼出teminal用来退出浏览器,例如Shift_R + Ctrl_R + Q。

2. 将键盘左侧的Shift、Ctrl、Super(win)键改到CapsLock键上,这可以通过xmodmap实现:

#super_l -> capslock

xmodmap -e "remove mod4 = Super_L"

xmodmap -e "keycore 133 = Caps_Lock NoSymbol Caps_Lock"

xmodmap -e "add lock = Caps_Lock"

#super_r -> capslock

xmodmap -e "remove mod4 = Super_R"

xmodmap -e "keycore 134 = Caps_Lock NoSymbol Caps_Lock"

xmodmap -e "add lock = Caps_Lock"

#alt_l -> capslock

xmodmap -e "remove mod1 = Alt_L"

xmodmap -e "keycore 64 = Caps_Lock NoSymbol Caps_Lock"

xmodmap -e "add lock = Caps_Lock"

#ctrl_l -> capslock

xmodmap -e "remove control = Control_L"

xmodmap -e "keycore 37 = Caps_Lock NoSymbol Caps_Lock"

xmodmap -e "add lock = Caps_Lock"

#shift_l -> capslock

xmodmap -e "remove shift = Shift_L"

xmodmap -e "keycore 50 = Caps_Lock NoSymbol Caps_Lock"

xmodmap -e "add lock = Caps_Lock"

#alt_r -> capslock

xmodmap -e "remove mod1 = Alt_R"

xmodmap -e "keycore 108 = Caps_Lock NoSymbol Caps_Lock"

xmodmap -e "add lock = Caps_Lock"

将上述代码添加到start.sh的启动命令之前,这样在双击启动的时候就可以修改掉按键了。

总结

以上所述是小编给大家介绍的Ubuntu环境下的nwjs安装及使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

nwjs sdk linux x64,Ubuntu环境下的nwjs安装及使用教程相关推荐

  1. Linux环境下Protobuf完整安装和使用教程

    Linux环境下Protobuf完整安装和使用教程 目标 下载和安装 环境配置 一个例子 1.报文定义 2.报文生成 3.使用报文 4.编译程序 5.常见问题: 目标 本文将教会一个完全的新手如何搭建 ...

  2. ubuntu环境下redis的安装配置

    ubuntu环境下redis的安装配置 1. 简要介绍 dis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表 ...

  3. 腾讯云服务器如何安装应用软件,腾讯云服务器Ubuntu环境下通过Apt-get安装软件...

    腾讯云服务器Ubuntu环境下通过Apt-get安装软件?腾讯云提供了Apt-get下载源.操作系统为Ubuntu12.04的云服务器,用户可通过Apt-get快速安装软件.对于apt-get下载源, ...

  4. Android 开发之Windows环境下Android Studio安装和使用教程(图文详细步骤)

    鉴于谷歌最新推出的Android Studio备受开发者的推崇,所以也跟着体验一下. 一.介绍Android Studio  Android Studio 是一个Android开发环境,基于Intel ...

  5. [FirefoxOS_开发环境]Linux和Ubuntu环境下B2G(Firefox OS)安装、编译、测试教程集合

    1在ubuntu上测试Firefox OS(B2G)系统 Firefox OS,项目代号为"Boot 2 Gecko",是一个开放的完全基于WEB标准的智能手机操作系统,由Mozi ...

  6. linux sublime nodejs,Ubuntu环境下sublime3 nodejs安装与插件配置

    1.sudo add-apt-repository ppa:webupd8team/sublime-text-3 回车,出现很多信息.但是我们看看图片最后字知道,这地方在等待我们确认是否添加这个仓库, ...

  7. nwjs sdk linux x64,【NWjs中文网™】 - nw.js跨平台技术,使用JavaScript,HTML以及CSS搭建跨平台桌面应用...

    最新版:v0.53.0,稳定版:v0.53.0,LTS版:v0.14.7 v0.53.0 v0.53.0,win-x64,normal v0.53.0,win-x64,sdk v0.53.0,win- ...

  8. [Linux实用工具]Ubuntu环境下SSH的安装及使用

    SSH分为客户端和服务端. 服务端是一个守护进程,一般是sshd进程,在后台运行并响应来自客户端的请求.提供了对远程请求的处理,一般包括公共密钥认证.密钥交换.对称密钥加密和非安全连接. 客户端一般是 ...

  9. 在Ubuntu环境下使用vcpkg安装sqlite_orm包文件

    Ubuntu安装vcpkg 从github下载vcpkg的安装包,在usr/local路径下面执行如下命令 git clone https://github.com/Microsoft/vcpkg.g ...

最新文章

  1. windows10 mysql 5.5.36 安装
  2. 安装Exchange Server2016管理工具
  3. putty 配置导出
  4. 基础补充和加强——希望对后来的人有所帮助
  5. 获取GridView中RowCommand的当前选中行的索引或主键Id
  6. 华为双系统是鸿蒙系统吗,华为p50pro是鸿蒙系统吗-华为p50pro有双系统吗
  7. 图片里的标志化的构造和执行
  8. 零基础想学Python,明白这2点,越快年薪30W!
  9. 计算机黑屏但是有鼠标,电脑桌面黑屏怎么解决 电脑黑屏怎么办 - 云骑士一键重装系统...
  10. linux日期时间转换函数,Linux时间戳、日期转换函数
  11. clone远程代码 在不同电脑上git_Git 同一电脑配置多个远程仓库
  12. win10多用户同时远程桌面登陆
  13. 玩转OpenStack网络Neutron(1)--热身
  14. 100个C语言的编程题
  15. 可解释性机器学习( Explainable Artificial Intelligence (XAI) )文献阅读记录(1.1)
  16. 自动阅读脚本root的好还是免root的好?
  17. python3爬取淘女郎图片
  18. gh-ost大表DDL工具源码阅读
  19. 白帽汇龙专:Web扫描器的架构变迁之路
  20. Python打包成exe,文件太大问题解决办法

热门文章

  1. C#中类和对象的详解
  2. 缩短url_我如何免费制作自己的URL缩短器
  3. 葛洲坝电力集团责任有限公司改变企业新句号
  4. (亚马逊第一步)撸一个亚马逊服务器从注册到登录所需几步
  5. 采用dlopen、dlsym、dlclose加载动态链接库【总结】
  6. Uncaught ReferenceError: $ is not defined几种处理方式
  7. ArcGIS空间分析基本操作
  8. 为什么我要自己做一个周易软件
  9. libgomp.so.1:version 'GOMP_4.0' not fount 问题的解决方案
  10. opencv 二值化 matlab,opencv-python图像二值化函数cv2.threshold函数详解及参数cv2.THRESH...