Ubuntu 14 Remmina 远程桌面提示 “无法连接到RDP服务器”

Ubuntu 中用 Remmina 远程桌面来登陆管理远程的Windows 电脑还是非常方便的,但是有时候会发生莫名的报错  “无法连接到RDP服务器” ,此时在命令行下面调用 rdesktop 是可以正常连接到服务器的,但是 Remmina 就不行了,找了半天找到解决方法。

删除 ~/.freerdp/known_hosts 即可,貌似是被控端的证书变更了,或者失效了,系统没有及时更新,导致异常。

另外,如果不能正确的保存新建的连接信息,看看 ~/.remmina 目录是不是被删除了,貌似 Remmina 不会自动创建目录,这个需要手工创建一个就OK 了。

Linux基础:分析 Ubuntu 磁盘使用情况

在这篇文章中,我将指导你们如何在 Ubuntu 中对磁盘使用情况进行分析。为了确保系统的健康,运行的流畅,时常关心机器的硬盘,适当的运行一些分析是非常重要的,当然,运行这些分析是很容易的。为了完成分析,我们将使用一款非常棒的图形工具,名叫Baobab

在 下一步操作之前,我可以告诉你们,它的使用非常简单,功能齐全,我确定它能够满足你的需求。Baobab 是 gnome-utils 的一部分,但是自从Gnome3.4版本后,已经作为独立应用。通过使用这个磁盘分析工具,你可以轻松扫描文件夹,文件系统,不单是本地,远程目录一样可 以轻松分析。

只需轻轻点击,便可以搞定一切!想要停止扫描?简单,在 baobab 用户界面的顶部,轻点 Stop scanning 按钮,完成。

我喜欢这个工具的简单性并且可以图形化表示数据,像饼状图和树形图。那么,现在你们在自己的机子上安装使用如何呢?

据我所知,ubuntu已经默认安装,如果没有,打开一个新终端(CTRL+ALT+T),然后运行下列命令来安装它。

安装完毕后,会分类至应用程序, 系统工具, 磁盘分析器,或者,直接使用下列命令,在终端中运行baobab。

下列图片显示了当它在你的机器运行时的界面。baobab1 如需扫描 Home 目录,点击 Scan Home 或者 Analyzer->Scan Home Folder 选项。完成扫描后,工具会做很多分析,耐心等待分析结果吧!

baobab2

正如上图所见,baobab 扫描结果提供给我们很多信息,包括 Home 目录中每一个文件夹的使用情况、大小,以及所拥有文件数。右边有一个饼状示意图。如果你喜欢,选择上方的 View as Treemap Chart,你可以轻松地把它换成树状图。

下图显示的是,选择树状图代替默认的饼状图的界面。

baobab3

如需扫描文件系统,选择 Analyzer->Scan Filesystem ,如果你懒得去点击这些,有一个简单方法,快捷键CTRL+F

选择你喜欢的方式,两个方法都会起效并做同样的扫描。快捷键的确易用省时,但是如果不是天天用这个工具,也很难同时记住所有快捷键。

baobab4

如何扫描文件夹?简单!Analyzer-> Scan A Folder -> 选择你想要扫描的文件夹,快捷键是 CTRL+O 。是不是非常简单?是的!看见 Scan a Folder 按钮了吗?点击它扫描就开始了!

下图显示了扫描完 python-nmap-0.1.4 后的结果。我用简单的方法得到了有用的信息列表。

baobab5

你已经学会了如何扫描 Home 目录、文件系统和指定文件夹。有一个重要的功能,我还没有告诉你,但我确定你一定可以自己学会。是不是有远程文件夹需要扫描?好好发挥一下脑力吧!

引用 http://www.lupaworld.com/article-238081-1.html

Ubuntu 12.04 Server安装Bittorrent Transmission

Ubuntu Server 没有图形界面,如果作为BT 下载服务器的话,可以使用Bittorrent Transmission 来通过Web界面操作,类似http://192.168.1.X:9091这样的方式管理下载。

1.安装服务器端

2.配置文件修改

主要调整如下部分的内容

也就是调整白名单为所有地址都可以网络访问,同时修改用户名密码到自己熟悉的即可。其中  "download-dir" 用来调整文件下载到的地址,这个自己调整即可。

3.使得配置信息生效(注意,必须使用此命令,否则Bittorrent Transmission 会在重启的时候把数据写回磁盘,导致修改无效)

4.修改系统配置文件,开放对于UDP的访问限制

增加如下语句

然后重启服务器。

5.通过浏览器访问即可。

Ubuntu 12.04 安装socks5代理服务器dante-server

dante-server是一个很好的socks4/5代理服务器软件。

  • 使用apt-get安装

  • 添加一个用户

  • 禁止proxyuser用户登录系统(安全考虑)

将proxyuser的shell改成 /bin/false

  • 配置danted.conf

输入以下内容:

  • 创建log文件夹

  • 启动dante-server

  • 查看是否监听成功:

现在你就可以使用socks5了

Ubuntu 13.10 IDT 92HD71B7X 声卡插入耳机无声问题

DELL E5400 笔记本,安装Ubuntu 13.10 ,今天突然发现,插入外置音响,耳机的时候,没有声音了,而内置的喇叭是正常的,网上查询了一下得到解决方法,目前仅仅针对IDT 92HD71B7X  芯片组,其他芯片组不保证能用。

查看声卡芯片组

输出结果如果为

则尝试本方法

如果文件存在,则在文件的最后增加

重启机器,如果不想重启机器,可以尝试

注意,重启,或者强制声卡重新加载之后,可能声音被强制设置为静音了,因此,需要手动打开音量,这个要注意一下。

Ubuntu无法进入桌面报告 Could not update /home/$USER/.ICEauthority

使用Ubuntu和Fedora的用户经常会在进入GNOME时出现

这样的提示。然后就不能正常进入GNOME了(之前在GNOME上的配置都消失了)

解决办法:以root的用户执行

解决问题很简单,但为什么会出现这种情况呢?下面是我的一些个人理解

首先:先介绍下sudo和gksudo

sudo和gksudo都是使用root权限来执行应用,sudo执行程序时使用的是当前用户的配置和家目录,而gksudo使用的是root用户 的家目录和配置,一般情况下看不出什么区别,但是对于那些针对不同用户有不同的配置文件和表现形式的应用程序来说,这两种方式的结果区别就很明显了。比如 下面原文中举的firefox例子。在不通过终端运行程序时,sudo没有办法提供一个界面来输入管理员密码,比如在快捷方式中。还有些GUI程序只能用 gksudo。细心的朋友肯定发现了,在/root下并没有.ICEauthority。那么当用sudo运行程序之后,由于使用的是当前用户的配置和家 目录,

系统将整个家目录的所属者和所属组归属到root:root下,并将.ICEauthority的权限修改成600。故当再次以普通用户身份登入系统时,由于没有权限故无法读取用户的配置文件。根据上述分析,显然,当使用gksudo将能避免这种情况的发生。
一般情况下,可以这样,运行命令行程序时使用sudo,运行GUI程序时用gksudo。

下面是原文:

What’s the Issue?
Since most Ubuntu documentation asks you to use sudo even with graphical applications, I often get asked by Ubuntu users why I recommendgksudo or kdesu for graphical applications instead of sudo.

For example, a lot of guides (including the first book ever published about Ubuntu) will ask you to type this sort of command:

I will always recommend, however, that people use instead this sort of command:

And reserve sudo for command-line applications, like so:

Why is it an issue?
Well, to be perfectly honest, most of the time it isn’t. For a lot of applications, you can run them the improper way—using sudo for graphical applications and see no adverse side effects.

1. There are other times, though, when side effects can be as mild as Firefox extensions not sticking or as extreme as as not being able to log in any more because the permissions on your .ICEauthority changed. You can read a full discussion on the issue here.

These errors occur because sometimes when sudo launches an application, it launches with root privileges but uses the user’s configuration file.

5616035720110414233611022

For example, if you launch Firefox with the command

it uses root’s Firefox configuration file.
5616035720110414233935037
But if you launch Firefox with the command

Change a few settings while launched as root, and you'll see if you dig into your Firefox profile that certain files are now owned by root.

56160357201104142343300785616035720110414233611022 (1)

it runs with root privileges but uses the user’s configuration file (in this case, you can see the homepage and theme are different).
2. Running graphical applications with sudo also has the downside of always having to be run from the terminal. If you don’t use the proper command—gksudo or kdesu, you will not be able to use the command as an icon launcher or keyboard shortcut because there will be no graphical dialogue box to enter your sudo password in.

3. There are also some graphical applications that simply will not run with the sudo command. Kate, for example, can be run as

but cannot be run as

Why not make exceptions?
Bottom line: most of the time when you use sudo for graphical applications, it’s fine. Some of the time, though, it is not fine, and is, in fact, extremely bad.

If you made exceptions, you would have to give people a list of all the graphical applications that are okay to run as sudo and a list of all the graphical applications that must be run as gksudo or kdesu.

Why make a list that needs to be compiled and updated, that most people won’t refer to, and that is completely unnecessary? Just be consistent in suggesting good practice: gksudo and kdesu for graphical applications. sudo for command-line applications.

But gksudo sometimes gives me an error… even though it appears to work…

You may notice that even though gksudo is the proper way to launch graphical applications, if you launch a gksudo application it will sometimes give you what appears to be an error. This, for example:

or these

That is not a real error, and there’s already been a bug report filed on the message appearing. The developers have seen the bug and labeled it a low priority. In the meantime, just ignore the message and keep encouraging people to not use sudo for graphical applications so they won’t potentially mess up their ~/.ICEauthority and other user configuration files.

参考:http://czmmiao.iteye.com/blog/1003810

Ubuntu apt-get upgrade 时候忽略某些安装包

最近使用Squid3 做代理服务器,但是Ubuntu 默认的Squid3 是不包含HTTPS支持功能的,因此只能自己重新编译(参见 Ubuntu 12.04 上使用 squid 架设Http正向代理服务器),但是,在执行

的时候遇到一个问题,那就是 Squid3 总是被默认还原成原来的包,每次程序升级完成之后都要重新编译设置 ,非常麻烦,网上查找了一下,找到可以忽略某些特定包升级的命令。

这样就不担心在升级时候误升级 Squid3 了。

如果需要恢复原来的设定的话,执行如下命令即可

linux top命令的TIME/TIME+值

top命令的TIME/TIME+是指的进程所使用的CPU时间,不是进程启动到现在的时间,因此,如果一个进程使用的cpu很少,那即使这个进程已经存在N长时间,TIME/TIME+也是很小的数值。

此外,如果你的系统有多个CPU,或者是多核CPU的话,那么,进程占用多个cpu的时间是累加的。

top的manual page:http://linux.die.net/man/1/top
看看他的帮助说明:
l: TIME — CPU Time
Total CPU time the task has used since it started. When ‘Cumulative mode’ is On, each process is listed with the cpu time that it and its dead children has used. You toggle ‘Cumulative mode’ with ‘S’, which is a command-line option and an interactive command. See the ‘S’ interactive command for additional information regarding this mode.
m: TIME+ — CPU Time, hundredths
The same as ‘TIME’, but reflecting more granularity through hundredths of a second.

参考 http://1.guotie.sinaapp.com/?p=24

WordPress安装插件提示“无法创建目录”

WordPress安装插件提示“无法创建目录”,这个是由于目录的权限设置导致的,一般情况下可以直接给目录/wp-content目录下面的plugins  themes   uploads upgrade目录增加 777 权限即可,但是这样做会导致服务器配置的不够安全,因此找到个更合适的方案处理。

前提,服务器系统为Ubuntu 12.04 版本,几个目录的默认所有者为 root,使用的FTP为 vsftpd ,服务器为 Apache2 ,这些条件主要限制了默认的用户组名字,如果系统不同,用户组的名字可能需要调整一下。

1.给这几个目录 755 权限,即,只有所有者才有权限写入。

2.逐个授权,vsftpd 的默认用户分组为ftpgroup,用户名自定义的,我们假定为 ftpuser.  Apache2 的用户分组默认都为www-data,其中plugins  themes  upgrade目录主要是ftp安装插件用的,因此写入权限只要给ftpuser 就可以了,其他用户读取权限足够了。而uploads目录是上传图片资源文件的目录,因此只要给www-data 用户写入权限就可以了。

这样子,基本就安全多了。

Ubuntu 12.04/14.04/18.04使用squid架设Http正向代理服务器

配置普通HTTP正向代理

安装

配置squid3

搜索此句

修改为

搜索此句(squid默认允许访问本地(localhost)服务,但建议禁止

修改为

启动/重启squid3

注意: squidhttp默认代理端口为3128

配置HTTPS正向代理(单向认证)

由于ubuntu 12.04/14.04/18.04默认安装的squid版本是不支持SSL的,因此只能重新编译支持SSL

1.安装编译依赖

2.修改默认的编译选项,增加SSL支持
ubuntu 12.04

DEB_CONFIGURE_EXTRA_FLAGS字段中增加--enable-ssl

ubuntu 14.04/18.04

对于Ubuntu 14.04来说,除了要在DEB_CONFIGURE_EXTRA_FLAGS字段中增加--enable-ssl外,由于squid3-3.3.8默认去掉了对于NCSA的支持,而我们下面认证密码的配置是基于NCSA算法的,因此需要在DEB_CONFIGURE_EXTRA_FLAGS--enable-auth-basic字段中增加对于NCSA的支持,否则无法使用NCSA算法进行账号认证,修改后的样子如下:

注意,这样修改后squid3-3.3.8版本编译出来的在/usr/lib/squid3/下的ncsa_auth被重命名成了basic_ncsa_auth,因此配置文件中制定认证应用的时候要修改一下。

对于Ubuntu 18.04来说,这个参数不需要调整,默认支持NCSA

注意,如果需要禁用ipv6的支持,则增加--disable-ipv6选项,这个目前是唯一的可以彻底禁用ipv6代理访问的方式。这个需求的原因是由于配置问题,某些网站的ipv6地址存在,但是无法正常访问

3.配置编译
ubuntu 12.04

ubuntu 14.04

ubuntu 18.04

4.安装(编译后的文件存在在上层的squid_src目录下面)
ubuntu 12.04

ubuntu 14.04

ubuntu 18.04

5.验证安装后的版本是否支持SSL

如果看到enable-ssl输出,则说明编译成功。

6.生成自签名证书

7.移动服务器证书到squid3配置目录

8.配置squid3

搜索https_port,如果搜索到,则在搜索到的位置增加,搜索不到则在文件的最后增加

9.验证配置文件是否配置正确

10.启动/重启squid

11.安装 stunnel 配置安装目录下的stunnel.conf,把原来的内容都删掉,粘贴下面的内容

12.设置浏览器代理服务器地址

7442F5AA-EF60-49C8-B7BB-97D750C72231

13.重新启动stunnel

注意,如果只支持Https协议,可以注释掉原来的 

配置Squid3用户名密码认证

1. 安装htpasswd(如果装了apache就省掉这一步)
(这个是用来产生密码的)

也可以

2.生成密码文件

会让你输入user1的密码
3.改一下权限,确保squid能够读出密码文件

4.修改squid.conf,增加或修改成下面的样子

对于ubuntu 12.04版本上编译出来的的Squid3-3.1.19,执行如下配置:

对于ubuntu 14.04版本上编译出来的的Squid3-3.3.8,由于验证程序的名字被修改成了basic_ncsa_auth,因此执行如下配置:

简单的修改可以在VIM中查询 "auth_param basic program /usr/lib/squid/ncsa_auth" 找到后修改一下即可.
然后搜索 "http_access allow all" 找到后替换为 "http_access allow ncsa_users"
在"http_access allow all" 上面就是acl控制部分,直接增加"acl ncsa_users proxy_auth REQUIRED"
如果配置文件是从Squid3-3.1.19升级到Squid3-3.3.8版本的,那么根据如下两个链接的描述:
http://wiki.squid-cache.org/SquidFaq/ConfiguringSquid
https://forums.gentoo.org/viewtopic-t-952948-start-0.html

这两个链接上的信息,从Squid3-3.2版本开始,原来配置文件中的acl控制信息已经不需要再从配置文件中读取了,这部分的功能已经集成进入应用内部了。
因此需要注释掉下面这几句话,否则无法正常启动Squid3.

5.重启squid3

限制单个用户的下载速度

squid3在默认编译的时候,已经包含了--enable-delay-pools选项,因此已经默认支持限速了,我们只需要设置限速配置就可以了。

在文件最后增加如下配置:

参数的具体解释请在squid.conf中搜索delay-pools查看。

重启squid3

参考链接