2015年8月

shellinabox简介

通常情况下,我们在访问任何远程服务器时,会使用常见的通信工具如OpenSSH和Putty等。但是,有可能我们在防火墙后面不能使用这些工具访问远程系统,或者防火墙只允许HTTPS流量才能通过。不用担心!即使你在这样的防火墙后面,我们依然有办法来访问你的远程系统。而且,你不需要安装任何类似于OpenSSH或Putty的通讯工具。你只需要有一个支持JavaScript和CSS的现代浏览器,并且你不用安装任何插件或第三方应用软件。

这个 Shell In A Box,发音是shellinabox,是由Markus Gutschke开发的一款自由开源的基于Web的Ajax的终端模拟器。它使用AJAX技术,通过Web浏览器提供了类似原生的 Shell 的外观和感受。

这个shellinaboxd守护进程实现了一个Web服务器,能够侦听指定的端口。其Web服务器可以发布一个或多个服务,这些服务显示在用 AJAX Web 应用实现的VT100模拟器中。默认情况下,端口为4200。你可以更改默认端口到任意选择的任意端口号。在你的远程服务器安装shellinabox以后,如果你想从本地系统接入,打开Web浏览器并导航到:http://IP-Address:4200/。输入你的用户名和密码,然后就可以开始使用你远程系统的Shell。看起来很有趣,不是吗?确实 有趣!

免责声明:

shellinabox不是SSH客户端或任何安全软件。它仅仅是一个应用程序,能够通过Web浏览器模拟一个远程系统的Shell。同时,它和SSH没有任何关系。这不是可靠的安全地远程控制您的系统的方式。这只是迄今为止最简单的方法之一。无论如何,你都不应该在任何公共网络上运行它。

安装shellinabox

在Debian / Ubuntu系统上:

shellinabox在默认库是可用的。所以,你可以使用命令来安装它:

$ sudo apt-get install shellinabox

在RHEL / CentOS系统上:

首先,使用命令安装EPEL仓库:

# yum install epel-release

然后,使用命令安装shellinabox:

# yum install shellinabox

完成!

配置shellinabox

正如我之前提到的,shellinabox侦听端口默认为4200。你可以将此端口更改为任意数字,以防别人猜到。

在Debian/Ubuntu系统上shellinabox配置文件的默认位置是/etc/default/shellinabox。在RHEL/CentOS/Fedora上,默认位置在/etc/sysconfig/shellinaboxd

如果要更改默认端口,

在Debian / Ubuntu:

$ sudo vi /etc/default/shellinabox

在RHEL / CentOS / Fedora:

# vi /etc/sysconfig/shellinaboxd

更改你的端口到任意数字。因为我在本地网络上测试它,所以我使用默认值。

# Shell in a box daemon configuration
# For details see shellinaboxd man page

# Basic options
USER=shellinabox
GROUP=shellinabox
CERTDIR=/var/lib/shellinabox
PORT=4200
OPTS="--disable-ssl-menu -s /:LOGIN"

# Additional examples with custom options:

# Fancy configuration with right-click menu choice for black-on-white:
# OPTS="--user-css Normal:+black-on-white.css,Reverse:-white-on-black.css --disable-ssl-menu -s /:LOGIN"

# Simple configuration for running it as an SSH console with SSL disabled:
# OPTS="-t -s /:SSH:host.example.com"

重启shelinabox服务。

在Debian/Ubuntu:

$ sudo systemctl restart shellinabox

或者

$ sudo service shellinabox restart

在RHEL/CentOS系统,运行下面的命令能在每次重启时自动启动shellinaboxd服务

# systemctl enable shellinaboxd

或者

# chkconfig shellinaboxd on

如果你正在运行一个防火墙,记得要打开端口4200或任何你指定的端口。

例如,在RHEL/CentOS系统,你可以如下图所示允许端口。

# firewall-cmd --permanent --add-port=4200/tcp  
# firewall-cmd --reload

使用

现在,在你的客户端系统,打开Web浏览器并导航到:https://ip-address-of-remote-servers:4200

注意:如果你改变了端口,请填写修改后的端口。

你会得到一个证书问题的警告信息。接受该证书并继续。

Privacy error - Google Chrome_001

输入远程系统的用户名和密码。现在,您就能够从浏览器本身访问远程系统的外壳。

Shell In A Box - Google Chrome_003

右键点击你浏览器的空白位置。你可以得到一些有很有用的额外菜单选项。

Shell In A Box - Google Chrome_004

从现在开始,你可以通过本地系统的Web浏览器在你的远程服务器随意操作。

当你完成工作时,记得输入exit退出。

当再次连接到远程系统时,单击连接按钮,然后输入远程服务器的用户名和密码。

Shell In A Box - Google Chrome_005

如果想了解shellinabox更多细节,在你的终端键入下面的命令:

# man shellinabox

或者

# shellinaboxd -help

同时,参考shellinabox 在wiki页面的介绍,来了解shellinabox的综合使用细节。

结论

正如我之前提到的,如果你在服务器运行在防火墙后面,那么基于web的SSH工具是非常有用的。有许多基于web的SSH工具,但shellinabox是非常简单而有用的工具,可以从的网络上的任何地方,模拟一个远程系统的Shell。因为它是基于浏览器的,所以你可以从任何设备访问您的远程服务器,只要你有一个支持JavaScript和CSS的浏览器。

就这些啦。祝你今天有个好心情!

参考链接:


via: http://www.unixmen.com/shellinabox-a-web-based-ajax-terminal-emulator/

作者:SK 译者:xiaoyu33 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

作者声明: 如果你是因为某种神迹而在没看标题的情况下点开了这篇文章,那么我想再重申一些东西……这是一篇评论文章,文中的观点都是我自己的,不代表 Phoronix 网站和 Michael 的观点。它们完全是我自己的想法。

另外,没错……这可能是一篇引战的文章。我希望 KDE 和 Gnome 社团变得更好一些,因为我想发起一个讨论并反馈给他们。为此,当我想指出(我所看到的)一个瑕疵时,我会尽量地做到具体而直接。这样,相关的讨论也能做到同样的具体和直接。再次声明:本文另一可选标题为“死于成千上万的纸割”(LCTT 译注:paper cuts——纸割,被纸片割伤——指易修复但烦人的缺陷。Ubuntu 从 9.10 开始,发起了 One Hundred Papercuts 项目,用于修复那些小而烦人的易用性问题)。

现在,重申完毕……文章开始。

当我把《评价 Fedora 22 KDE 》一文发给 Michael 时,感觉很不是滋味。不是因为我不喜欢 KDE,或者不待见 Fedora,远非如此。事实上,我刚开始想把我的 T450s 的系统换为 Arch Linux 时,马上又决定放弃了,因为我很享受 fedora 在很多方面所带来的便捷性。

我感觉很不是滋味的原因是 Fedora 的开发者花费了大量的时间和精力在他们的“工作站”产品上,但是我却一点也没看到。在使用 Fedora 时,我并没用采用那些主要开发者希望用户采用的那种使用方式,因此我也就体验不到所谓的“ Fedora 体验”。它感觉就像一个人评价 Ubuntu 时用的却是 Kubuntu,评价 OS X 时用的却是 Hackintosh,或者评价 Gentoo 时用的却是 Sabayon。根据论坛里大量读者对 Michael 的说法,他们在评价各种发行版时都是使用的默认设置——我也不例外。但是我还是认为这些评价应该在“真实”配置下完成,当然我也知道在给定的情况下评论某些东西也的确是有价值的——无论是好是坏。

正是在怀着这种态度的情况下,我决定跳到 Gnome 这个水坑里来泡泡澡。

但是,我还要在此多加一个声明……我在这里所看到的 KDE 和 Gnome 都是打包在 Fedora 中的。OpenSUSE、 Kubuntu、 Arch等发行版的各个桌面可能有不同的实现方法,使得我这里所说的具体的“痛点”跟你所用的发行版有所不同。还有,虽然用了这个标题,但这篇文章将会是一篇“很 KDE”的重量级文章。之所以这样称呼,是因为我在“使用” Gnome 之后,才知道 KDE 的“纸割”到底有多么的多。

登录界面

Gnome GDM

我一般情况下都不会介意发行版带着它们自己的特别主题,因为一般情况下桌面看起来会更好看。可我今天可算是找到了一个例外。

第一印象很重要,对吧?那么,GDM(LCTT 译注: Gnome Display Manage:Gnome 显示管理器。)绝对干得漂亮。它的登录界面看起来极度简洁,每一部分都应用了一致的设计风格。使用通用图标而不是文本框为它的简洁加了分。

KDE SDDM

这并不是说 Fedora 22 KDE ——现在已经是 SDDM 而不是 KDM 了——的登录界面不好看,但是看起来绝对没有它这样和谐。

问题到底出来在哪?顶部栏。看看 Gnome 的截图——你选择一个用户,然后用一个很小的齿轮简单地选择想登入哪个会话。设计很简洁,一点都不碍事,实话讲,如果你没注意的话可能完全会看不到它。现在看看那蓝色( LCTT 译注:blue,有忧郁之意,一语双关)的 KDE 截图,顶部栏看起来甚至不像是用同一个工具渲染出来的,它的整个位置的安排好像是某人想着:“哎哟妈呀,我们需要把这个选项扔在哪个地方……”之后决定下来的。

对于右上角的重启和关机选项也一样。为什么不单单用一个电源按钮,点击后会下拉出一个菜单,里面包括重启,关机,挂起的功能?按钮的颜色跟背景色不同肯定会让它更加突兀和显眼……但我可不觉得这样子有多好。同样,这看起来可真像“苦思”后的决定。

从实用观点来看,GDM 还要远远实用的多,再看看顶部一栏。时间被列了出来,还有一个音量控制按钮,如果你想保持周围安静,你甚至可以在登录前设置静音,还有一个可用性按钮来实现高对比度、缩放、语音转文字等功能,所有可用的功能通过简单的一个开关按钮就能得到。

KDE Breeve 主题

切换到上游(KDE 自带)的 Breeve 主题……突然间,我抱怨的大部分问题都被解决了。通用图标,所有东西都放在了屏幕中央,但不是那么重要的被放到了一边。因为屏幕顶部和底部都是同样的空白,在中间也就酝酿出了一种美好的和谐。还是有一个文本框来切换会话,但既然电源按钮被做成了通用图标,那么这点还算可以原谅。当前时间以一种漂亮的感觉呈现,旁边还有电量指示器。当然 gnome 还是有一些很好的附加物,例如音量小程序和可用性按钮,但 Breeze 总归要比 Fedora 的 KDE 主题进步。

到 Windows(Windows 8和10之前)或者 OS X 中去,你会看到类似的东西——非常简洁的,“不碍事”的锁屏与登录界面,它们都没有文本框或者其它分散视觉的小工具。这是一种有效的不分散人注意力的设计。Fedora……默认带有 Breeze 主题。VDG 在 Breeze 主题设计上干得不错。可别糟蹋了它。


via: http://www.phoronix.com/scan.php?page=article&item=gnome-week-editorial&num=1

作者:Eric Griffith 译者:XLCYun 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

加速你的帧率!

嘿,各位,稍安勿躁,很快就好。

就在提议开发一个新的 PPA 来给 Ubuntu 用户们提供最新的 NVIDIA 显卡驱动后不久,ubuntu 社区的人们又集结起来了,就是为了这件事。

顾名思义,‘Graphics Drivers PPA’ 包含了最新的 NVIDIA Linux 显卡驱动发布,已经打包好可供用户升级使用,没有让人头疼的二进制运行时文件!

这个 PPA 被设计用来让玩家们尽可能方便地在 Ubuntu 上运行最新款的游戏。

万事俱备,只欠东风

Jorge Castro 开发一个包含 NVIDIA 最新显卡驱动的 PPA 神器的想法得到了 Ubuntu 用户和广大游戏开发者的热烈响应。

就连那些致力于将“Steam平台”上的知名大作移植到 Linux 上的人们,也给了不少建议。

Edwin Smith,Feral Interactive 公司(‘Shadow of Mordor’) 的产品总监,对于“让用户更方便地更新驱动”的倡议表示非常欣慰。

如何使用最新的 Nvidia Drivers PPA

虽然新的“显卡PPA”已经开发出来,但是现在还远远达不到成熟。开发者们提醒到:

“这个 PPA 还处于测试阶段,在你使用它之前最好有一些打包的经验。请大家稍安勿躁,再等几天。”

将 PPA 试发布给 Ubuntu desktop 邮件列表的 Jorge,也强调说,使用现行的一些 PPA(比如 xorg-edgers)的玩家可能发现不了什么区别(因为现在的驱动只不过是把内容从其他那些现存驱动拷贝过来了)

“新驱动发布的时候,好戏才会上演呢,”他说。

截至写作本文时为止,这个 PPA 囊括了从 Ubuntu 12.04.1 到 15.10 各个版本的 Nvidia 驱动。注意这些驱动对所有的发行版都适用。

毫无疑问,除非你清楚自己在干些什么,并且知道如果出了问题应该怎么撤销,否则就不要进行下面的操作。

新打开一个终端窗口,运行下面的命令加入 PPA:

sudo add-apt-repository ppa:graphics-drivers/ppa

安装或更新到最新的 Nvidia 显卡驱动:

sudo apt-get update && sudo apt-get install nvidia-355

记住:如果PPA把你的系统弄崩了,你可得自己去想办法,我们提醒过了哦。(译者注:切记!)

如果想要撤销对PPA的改变,使用 ppa-purge 命令。

有什么意见,想法,或者指正,就在下面的评论栏里写下来吧。(我没有 NVIDIA 的硬件来为我自己验证上面的这些东西,如果你可以验证的话,那就太感谢了。)


via: http://www.omgubuntu.co.uk/2015/08/ubuntu-nvidia-graphics-drivers-ppa-is-ready-for-action

作者:Joey-Elijah Sneddon 译者:DongShuaike 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

我已经写过 Linux 提示和技巧 系列的一篇文章。写这篇文章的目的是让你知道这些小技巧可以有效地管理你的系统/服务器。

Create Cdrom ISO Image and Monitor Users in Linux

在Linux中创建 Cdrom ISO 镜像和监控用户

在这篇文章中,我们将看到如何使用 CD/DVD 驱动器中载入的碟片来创建 ISO 镜像;打开随机手册页学习;看到登录用户的详细情况和查看浏览器内存使用量,而所有这些完全使用本地工具/命令,无需任何第三方应用程序/组件。让我们开始吧……

用 CD 碟片创建 ISO 映像

我们经常需要备份/复制 CD/DVD 的内容。如果你是在 Linux 平台上,不需要任何额外的软件。所有需要的是进入 Linux 终端。

要从 CD/DVD 上创建 ISO 镜像,你需要做两件事。第一件事就是需要找到CD/DVD 驱动器的名称。要找到 CD/DVD 驱动器的名称,可以使用以下三种方法。

1. 从终端/控制台上运行 lsblk 命令(列出块设备)

$ lsblk

Find Block Devices in Linux

找块设备

从上图可以看到,sr0 就是你的 cdrom (即 /dev/sr0 )。

2. 要查看有关 CD-ROM 的信息,可以使用以下命令

$ less /proc/sys/dev/cdrom/info

Check Cdrom Information

检查 Cdrom 信息

从上图可以看到, 设备名称是 sr0 (即 /dev/sr0)。

3. 使用 dmesg 命令 也会得到相同的信息,并使用 egrep 来自定义输出。

命令 ‘dmesg‘ 命令的输出/控制内核缓冲区信息。‘egrep‘ 命令输出匹配到的行。egrep 使用选项 -i 和 -color 时会忽略大小写,并高亮显示匹配的字符串。

$ dmesg | egrep -i --color 'cdrom|dvd|cd/rw|writer'

Find Device Information

查找设备信息

从上图可以看到,设备名称是 sr0 (即 /dev/sr0)。

一旦知道 CD/DVD 的名称后,在 Linux 上你可以用下面的命令来创建 ISO 镜像(你看,只需要 cat 即可!)。

$ cat /dev/sr0 > /path/to/output/folder/iso_name.iso

这里的‘sr0‘是我的 CD/DVD 驱动器的名称。你应该用你的 CD/DVD 名称来代替。这将帮你创建 ISO 镜像并备份 CD/DVD 的内容无需任何第三方应用程序。

Create ISO Image of CDROM in Linux

创建 CDROM 的 ISO 映像

随机打开一个手册页

如果你是 Linux 新人并想学习使用命令行开关,这个技巧就是给你的。把下面的代码行添加在〜/ .bashrc文件的末尾。

/use/bin/man $(ls /bin | shuf | head -1)

记得把上面一行脚本添加在用户的.bashrc文件中,而不是根目录的 .bashrc 文件。所以,当你下次登录本地或远程使用 SSH 时,你会看到一个随机打开的手册页供你阅读。对于想要学习命令行开关的新手,这被证明是有益的。

下面是在终端登录两次分别看到的。

LoadKeys Man Pages

LoadKeys 手册页

Zgrep Man Pages

Zgrep 手册页

希望你知道如何退出手册页浏览——如果你已经厌烦了每次都看到手册页,你可以删除你添加到 .bashrc文件中的那几行。

查看登录用户的状态

了解其他用户正在共享服务器上做什么。

一般情况下,你是共享的 Linux 服务器的用户或管理员的。如果你担心自己服务器的安全并想要查看哪些用户在做什么,你可以使用命令 w

这个命令可以让你知道是否有人在执行恶意代码或篡改服务器,让他停下或使用其他方法。'w' 是查看登录用户状态的首选方式。

要查看登录的用户正在做什么,从终端运行命令“w”,最好是 root 用户。

# w

Check Linux User Activity

检查 Linux 用户状态

查看浏览器的内存使用状况

最近有不少谈论关于 Google-chrome 的内存使用量。如要检查浏览器的内存使用情况,只需在地址栏输入 “about:memory”,不要带引号。

我已经在 Google-Chrome 和 Mozilla 的 Firefox 网页浏览器进行了测试。你可以查看任何浏览器,如果它工作得很好,你可能会承认我们在下面的评论。你也可以杀死浏览器进程在 Linux 终端的进程/服务中。

在 Google Chrome 中,在地址栏输入 about:memory,你应该得到类似下图的东西。

Check Chrome Memory Usage

查看 Chrome 内存使用状况

在Mozilla Firefox浏览器,在地址栏输入 about:memory,你应该得到类似下图的东西。

Check Firefox Memory Usage

查看 Firefox 内存使用状况

如果你已经了解它是什么,除了这些选项。要检查内存用量,你也可以点击最左边的 ‘Measure‘ 选项。

Firefox Main Process

Firefox 主进程

它将通过浏览器树形展示进程内存使用量。

目前为止就这样了。希望上述所有的提示将会帮助你。如果你有一个(或多个)技巧,分享给我们,将帮助 Linux 用户更有效地管理他们的 Linux 系统/服务器。

我会很快在这里发帖,到时候敬请关注。请在下面的评论里提供你的宝贵意见。喜欢请分享并帮助我们传播。


via: http://www.tecmint.com/creating-cdrom-iso-image-watch-user-activity-in-linux/

作者:Avishek Kumar 译者:strugglingyouth 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

问题 我试着在[某某 Linux 发行版]上运行一个 Python 应用,但是我得到了这个错误“ImportError: No module named wxversion.”。我怎样才能解决 Python 程序中的这个错误呢?
Looking for python... 2.7.9 - Traceback (most recent call last):
  File "/home/dev/playonlinux/python/check_python.py", line 1, in 
    import os, wxversion
ImportError: No module named wxversion
failed tests

该错误表明,你的Python应用是基于GUI的,依赖于一个名为wxPython的缺失模块。wxPython是一个用于wxWidgets GUI库的Python扩展模块,普遍被C++程序员用来设计GUI应用。该wxPython扩展允许Python开发者在任何Python应用中方便地设计和整合GUI。

摇解决这个 import 错误,你需要在你的 Linux 上安装 wxPython,如下:

安装wxPython到Debian,Ubuntu或Linux Mint

$ sudo apt-get install python-wxgtk2.8

安装wxPython到Fedora

$ sudo yum install wxPython

安装wxPython到CentOS/RHEL

wxPython可以在CentOS/RHEL的EPEL仓库中获取到,而基本仓库中则没有。因此,首先要在你的系统中启用EPEL仓库,然后使用yum命令来安装。

$ sudo yum install wxPython 

安装wxPython到Arch Linux

$ sudo pacman -S wxpython 

安装wxPython到Gentoo

$ emerge wxPython 

via: http://ask.xmodulo.com/importerror-no-module-named-wxversion.html

作者:Dan Nanni 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Darkstat是一个简易的,基于网页的流量分析程序。它可以在主流的操作系统如Linux、Solaris、MAC、AIX上工作。它以守护进程的形式持续工作在后台,不断地嗅探网络数据,以简单易懂的形式展现在它的网页上。它可以为主机生成流量报告,识别特定的主机上哪些端口是打开的,它兼容IPv6。让我们看下如何在Linux中安装和配置它。

在Linux中安装配置Darkstat

在Fedora/CentOS/RHEL中安装Darkstat:

要在Fedora/RHEL和CentOS中安装,运行下面的命令。

sudo yum install darkstat

在Ubuntu/Debian中安装Darkstat:

运行下面的命令在Ubuntu和Debian中安装。

sudo apt-get install darkstat

恭喜你,Darkstat已经在你的Linux中安装了。

配置 Darkstat

为了正确运行这个程序,我们需要执行一些基本的配置。运行下面的命令用gedit编辑器打开/etc/darkstat/init.cfg文件。

sudo gedit /etc/darkstat/init.cfg

编辑 Darkstat

修改START\_DARKSTAT这个参数为yes,并在“INTERFACE”中提供你的网络接口。确保取消了DIR、PORT、BINDIP和LOCAL这些参数的注释。如果你希望绑定Darkstat到特定的IP,在BINDIP参数中提供它。

启动Darkstat守护进程

安装并配置完Darkstat后,运行下面的命令启动它的守护进程。

sudo /etc/init.d/darkstat start

Restarting Darkstat

你可以用下面的命令来在开机时启动Darkstat:

chkconfig darkstat on

打开浏览器并打开http://localhost:666,它会显示Darkstat的网页界面。使用这个工具来分析你的网络流量。

Darkstat

总结

它是一个占用很少内存的轻量级工具。这个工具流行的原因是简易、易于配置使用。这是一个对系统管理员而言必须拥有的程序。


via: http://linuxpitstop.com/install-darkstat-on-ubuntu-linux/

作者:Aun 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出