常见的JavaScript易错知识点整理
前言
本文是常见错知我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,识点类型比较,整理this指向,常见错知函数参数,识点闭包问题及对象拷贝与赋值这6个方面进行由浅入深的整理介绍和讲解,其中也涉及了一些ES6的常见错知知识点。

JavaScript知识点
1.变量作用域
var a = 1; function test() { var a = 2; console.log(a); // 2 } test();上方的识点函数作用域中声明并赋值了a,且在console之上,整理所以遵循就近原则输出a等于2。常见错知
var a = 1; function test2() { console.log(a); // undefined var a = 2; } test2();上方的识点函数作用域中虽然声明并赋值了a,但位于console之下,整理a变量被提升,常见错知输出时已声明但尚未被赋值,识点所以输出“undefined”。整理
var a = 1; function test3() { console.log(a); // 1 a = 2; } test3();上方的函数作用域中a被重新赋值,未被重新声明,且位于console之下,所以输出全局作用域中的a。
let b = 1; function test4() { console.log(b); // b is not defined let b = 2; } test4();上方函数作用域中使用了ES6的let重新声明了变量b,而let不同于var其不存在变量提升的功能,所以输出报错“b is not defined”。
function test5() { let a = 1; { let a = 2; } console.log(a); // 1 } test5();上方的函数作用域中用let声明了a为1,源码下载并在块级作用域中声明了a为2,因为console并不在函数内的块级作用域中,所以输出1。
2.类型比较
var arr = [], arr2 = [1]; console.log(arr === arr2); // false上方两个不同的数组比较,console为false。
var arr = [], arr2 = []; console.log(arr === arr2); // false上方两个相同的数组比较,因为两个单独的数组永不相等,所以console为false。
var arr = [], arr2 = {}; console.log(typeof(arr) === typeof(arr2)); // true上方利用typeof比较数组和对象,因为typeof获取NULL、数组、对象的类型都为object,所以console为true。
var arr = []; console.log(arr instanceof Object); // true console.log(arr instanceof Array); // true上方利用instanceof判断一个变量是否属于某个对象的实例,因为在JavaScript中数组也是对象的一种,所以两个console都为true。
3.this指向
var obj = { name: xiaoming, getName: function () { return this.name } }; console.log(obj.getName()); // xiaoming上方对象方法中的this指向对象本身,所以输出”xiaoming”。
var obj = { myName: xiaoming, getName: function () { return this.myName } }; var nameFn = obj.getName; console.log(nameFn()); // undefined上方将对象中的方法赋值给了一个变量,此时方法中的this也将不再指向obj对象,从而指向window对象,云服务器所以console为”undefined”。
var obj = { myName: xiaoming, getName: function () { return this.myName } };
var obj2 = { myName: xiaohua }; var nameFn = obj.getName; console.log(nameFn.apply(obj2)); // xiaohua上方同样将obj对象中的方法赋值给了变量nameFn,但是通过apply方法将this指向了obj2对象,所以最终console为’xiaohua’。
4.函数参数
function test6() { console.log(arguments); // [1, 2] } test6(1, 2);上方利用函数中的arguments对象获取传入函数的参数数组,所以输出数组[1, 2]。
function test7 () { return function () { console.log(arguments); // 未执行到此,无输出 } } test7(1, 2);上方同样利用arguments获取参数,但因test7(1, 2)未执行return中的函数,所以无输出,若执行test7(1, 2)(3, 4)则会输出[3, 4]。
var args = [1, 2]; function test9() { console.log(arguments); // [1, 2, 3, 4] } Array.prototype.push.call(args, 3, 4); test9(...args);上方利用Array.prototype.push.call()方法向args数组中插入了3和4,并利用ES6延展操作符(…)将数组展开并传入test9,所以console为[1, 2, 3, 4]。
5.闭包问题
var elem = document.getElementsByTagName(div); // 如果页面上有5个div for(var i = 0; i < elem.length; i++) { elem[i].onclick = function () { alert(i); // 总是5 }; }上方是一个很常见闭包问题,点击任何div弹出的值总是5,因为当你触发点击事件的时候i的值早已是5,可以用下面方式解决:
var elem = document.getElementsByTagName(div); // 如果页面上有5个div for(var i = 0; i < elem.length; i++) { (function (w) { elem[w].onclick = function () { alert(w); // 依次为0,1,2,3,4 }; })(i); }在绑定点击事件外部封装一个立即执行函数,并将i传入该函数即可。
6.对象拷贝与赋值
var obj = { name: xiaoming, age: 23 }; var newObj = obj; newObj.name = xiaohua; console.log(obj.name); // xiaohua console.log(newObj.name); // xiaohua上方我们将obj对象赋值给了newObj对象,从而改变newObj的b2b供应网name属性,但是obj对象的name属性也被篡改,这是因为实际上newObj对象获得的只是一个内存地址,而不是真正 的拷贝,所以obj对象被篡改。
var obj2 = { name: xiaoming, age: 23 }; var newObj2 = Object.assign({}, obj2, {color: blue}); newObj2.name = xiaohua; console.log(obj2.name); // xiaoming console.log(newObj2.name); // xiaohua console.log(newObj2.color); // blue上方利用Object.assign()方法进行对象的深拷贝可以避免源对象被篡改的可能。因为Object.assign() 方法可以把任意多个的源对象自身的可枚举属性拷贝给目标对象,然后返回目标对象。
var obj3 = { name: xiaoming, age: 23 }; var newObj3 = Object.create(obj3); newObj3.name = xiaohua; console.log(obj3.name); // xiaoming console.log(newObj3.name); // xiaohua我们也可以使用Object.create()方法进行对象的拷贝,Object.create()方法可以创建一个具有指定原型对象和属性的新对象。
结语
学习JavaScript是一个漫长的过程,不能一蹴而就。希望本文介绍的几点内容能够帮助学习JavaScript的同学更加深入的了解和掌握JavaScript的语法,少走弯路。
同时也欢迎大家关注我的微信公众号:前端呼啦圈(Love-FED),来这里聊点关于前端的事情。
来自——微信公众号:前端呼啦圈(Love-FED)
本文地址:http://www.bzuk.cn/html/312c34399344.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
相关文章
解决HP电脑开机黑屏无反应问题的方法(如何解决HP电脑开机黑屏无反应的困扰)
ubuntu下source、sh、bash、./执行脚本的区别source FileName ./FileName 作用:打开一个子shell来读取并执行FileName中命令。该filename文件需要执行权限 注:运行一个shell脚本时会启动另一个命令解释器. 每个shell脚本有效地运行在父shell(parent shell)的一个子进程里. 这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程. shell脚本也可以启动他自已的子进程. 这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务. 由于是在子shell中执行,脚本设置的变量不会影响当前shell。
Ubuntu 当今最流行的 Linux 操作系统,在android大行天下之时,Ubuntu 也推出自己的移动操作系统:Ubuntu touch,虽然有些迟,但ubuntu Touch 提出了同时支持使用 Qt/QML 开发原生应用,以及基于 HTML5 的 web 应用,从这里也看出了 Ubuntu 在移动领域的长足眼光。已经发布的版本有 Ubuntukylin、Lubuntu、KUbuntu、ubuntu Gnome。更新信息:Unity has improved support for High-DPI displays.Firefox is updated to version 33 and Chromium is updated to version 38.Gtk updated to version 3.12. Qt updated to version 5.3.Support for IPP Everywhere printers is added, and printers shared from Ubuntu can emulate IPP Everywhere printers.LibreOffice 4.3 brings a lot of improvements including improved PDF support, new features in Writer, Calc and Impress (word processor, spreadsheet and presentations).官方下载:Ubuntu 14.10Ubuntu 14.10国内镜像站点下载地址:中国科学技术大学网易镜像地址(一)网易镜像地址(二)厦门大学开源镜像下载ubuntu daily-live(每日创建版)版本:daily-live官方推荐源地址:http://wiki.ubuntu.org.cn/Qref/Source下载ubuntu-desktop-next(每日创建版)版本测试版本下载
环境:Ubuntu8.04 1.安装build工具 sudo aptitude install build-essential linux-headers-$(uname -r) 2.安装readline zlib libncurses5 apt-get install zlib1g-dev apt-get install libreadline5 libreadline5-dev apt-get install libncurses5 libncurses5-dev 3.安装ruby ruby的源代码下载: http://www.ruby-lang.org/en/downloads/ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.gz tar xvfz ruby-1.8.6-p114.tar.gz cd ruby-1.8.6-p114 ./configure --prefix=/usr/local/ruby sudo make sudo make install 安装好以后,加入/usr/local/ruby/bin到操作系统的PATH环境变量中 编辑/etc/environment gedit /etc/environment 在最后面加入: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/ bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin 执行命令,使环境变量修改生效: source /etc/environment 4.安装gem wget http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz tar xzvf rubygems-1.0.1.tgz cd rubygems-1.0.1 sudo ruby setup.rb 验证gem是否安装成功并升级 sudo gem update --system 5.安装rails sudo gem install rails --include-dependencies 安装好rails以后,验证是否安装成功,可以执行: rails –v 确认一下rails的版本。 //========================================= 其实openssl-ruby是ruby的扩展(extension),它不是像其他纯ruby代码一样,可以用gem来安装。一般情况下需要编译才行。 在linux系统下,这是经常碰到的问题,所以必须记住。 对于openssl-ruby的编译。 首先 cd ruby-source/ext/openssl ruby extconf.rb make make install 进行上面的操作需要包:libssl-dev //===================================================== gem mysql 的时候都要安装下面的包 sudo apt-get install libmysqlclient15-dev 也就是说 要编译安装公司的工具包需要操作如何: 1.安装build工具 sudo aptitude install build-essential linux-headers-$(uname -r) 2.安装readline zlib libncurses5 apt-get install zlib1g-dev apt-get install libreadline5 libreadline5-dev apt-get install libncurses5 libncurses5-dev 3.安装 libssl-dev apt-get install libssl-dev 4安装 mysql 编译包 sudo apt-get install libmysqlclient15-dev
Win7双屏显示教程(如何在Win7系统下实现双屏显示,提升工作效率)
如何更换惠普台式电脑的屏幕(简单易行的教程,让您轻松完成)
操作系统平台如Windows、iOS都在致力于系统的融合性,Canonical 开发人员经完成了一些系统自带应用的开发工作,这些应用可同时适用于移动和桌面设备,比如今天我们看到的Ubuntu Touch音乐播放器,已经适用于不同的设备。现在,Canonical 工作是支持手机和Ubuntu Ubuntu桌面。不久以后,该项目将被合并成一个单一的项目,可能在几年后。直到那时,我们看到的是由于这种融合方式最大的变化就是 Ubuntu Touch 应用程序即使在桌面运行都没有任何问题。Ubuntu Touch 音乐播放应用可以根据系统显示大小自动调整其大小和播放列表。Ubuntu Touch 音乐播放应用看起来运行非常棒,下面我们来看看图片:从运行结果来看,距离融合的目的已经越来越近了,假如你想试一试音乐播放器,可以通过PPA进行安装,不过目前只适用于 Ubuntu 14.10用户,打开终端,输入以下命令:sudo add-apt-repository ppa:vthompson/ppasudo apt-get updatesudo apt-get install music-app假如你想使用numix圆图标替换现有图标。运行该命令:sudo sed -i s/Icon=.*/Icon=gnome-music/1 /usr/share/applications/com.ubuntu.music_music.desktop现在还不要期望太多的应用程序的变化,还需要耐心等待。
但是配置了,我的老是出现Error code 1: File not found错误,经过探索,tftpd-hpa 是一个功能增强的TFTP服务器。它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统1、sudo apt-get install tftp-hpa tftpd-hpa xinetd2、建立配置文件sudo vi /etc/xinetd.d/tftp新建文件tftptftp内容:复制代码代码如下: service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -c per_source = 11 cps = 100 2 }注意:第九行中server_args = -s /tftpboot -c-c参数是允许上传用的,参数/tftpboot则是你的tftp目录,修改成你的目录即可,但是笔者建议在根目录下,方便3:修改配置文件/etc/default/tftpd-hpa1 sudo vim /etc/default/tftpd-hpa修改为:1 # /etc/default/tftpd-hpa2 TFTP_USERNAME=tftp3 TFTP_DIRECTORY=/tftpboot //改成你想要的那个tftpboot4 TFTP_ADDRESS=0.0.0.0:695 TFTP_OPTIONS=-l -c -s //这里是选项4:在根目录下新建tftpboot目录,并修改权限1 mkdir /tftpboot2 sudo chmod 777 -R /tftpboot5:在/tftpboot中新建一个测试文件test1 touch test6:【重要】重启服务,修改配置文件的任何地方都要重启服务1 sudo /etc/init.d/xinetd reload2 sudo /etc/init.d/xinetd restart7:测试服务tftp是否启动netstat -a|grep tftp显示 :udp 0 0 *:tftp *:*则启动服务了8:测试tftp进入另一个目录【不是/tftpboot目录,比如用户jyg目录】cd /home/jyg测试如图:9:出现错误:【错误】Error code 0: Permission denied,是因为tftpboot文件夹没有权限,或者是要上传和下载的文件没有权限。【解决】修改权限sudo chmod 777 -R /tftpboot【错误】Error code 1: File not found,原因1:指定的文件不存在;原因2:tftpd启动参数中没有指定-c选项;原因3:目录有问题,因为安装的时候默认的tftp目录是【/var/lib/tftpboot】,您可以把test文件放在这个目录中重新测试一下,假如正确说明猜想是正确的。【解决】原因1和原因2都好解决,这里只解决原因3:重启服务或者重启系统
热门文章
- 1教你如何设置戴尔电脑的启动项(详解戴尔电脑启动设置及常见问题解答)
- 2There are many ways to control brightness. According to this discussion[1] and this wiki page [2], the control method could be divided into these categories: brightness is controlled by vendor specified hotkey. And there is no interface for OS to adjust brightness. brightness could be controlled by ACPI ACPIIt is often possible to adjust the backlight by ACPI. This controls the actual LEDs or cathodes of the screen. When this ACPI option is available, the illumination is controllable using a GUI slider in the Display/Screen system settings or by simple commands on the CLI. Different cards might manage this differently. Check /sys/class/backlight to find out: # ls /sys/class/backlight/intel_backlight The directory contains the following files and folders: actual_brightness brightness max_brightness subsystem/ uevent # cat /sys/class/backlight/acpi_video0/max_brightness # echo 5 >/sys/class/backlight/acpi_video0/brightness acpi_osi=Linux acpi_backlight=vendor acpi_osi=Linux acpi_backlight=legacy 看了这个之后,很显然,问题就在于acpi_backlight=vendor will prefer vendor specific driver (e.g. thinkpad_acpi, sony_acpi, etc.) instead of the ACPI video.ko driver. 本文来源:博客园 作者:浮沉雄鹰
- 3尽管Apache已经占据半片江山,但很多人仍然在寻找其他的方式去托管他们的站点,Apache不只是一个选择,其他很多优秀的服务器程序例如lighthttp和nginx也是不错的选择。本教程将要向您展现如何在Ubuntu操作系统上面安装,教程同样适用在Debian,尽管有一点点小差别,但并没有太大影响。怎么样,下面我们开始吧。0.开始注意为了完成教程中提到的操作,我们假设您已经安装了一个基本的Debian或者Ubuntu操作系统。怎么安装系统这是不同的教程了,这里就不再详细说明。本教程主要介绍如何简单获取Nginx+php的运行环境。1.安装Nginx第一步要做的就是从库中下载,这个操作是非常简单的。sudo apt-get install nginx更改默认的虚拟站点配置,文件在:sudo vim /etc/nginx/sites-available/default一个漂亮的关键配置是:server { listen 80; server_name localhost; access_log /var/log/nginx/localhost.access.log;## Default location location / { root /var/www; index index.php; }## Images and static content is treated different location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ { access_log off; expires 30d; root /var/www; }## Parse all .php file in the /var/www directory location ~ .php$ { fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_pass backend; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; }## Disable viewing .htaccess & .htpassword location ~ /.ht { deny all; }}upstream backend { server 127.0.0.1:9000;} 好了,我们完成到这里,下面我们需要安装PHP所需要的文件。2.安装PHP很多站点都使用PHP提供动态内容,他们可能是一个wiki一个博客,或者一个论坛什么的。假如你现在运行的是Ubuntu,我们首先需要解决两种不同的deb包,假如你运行的是amd64版本,那需要更改i386为amd64注意:假如是debian则不需要做这些cd /tmpwget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.debwget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.debsudo dpkg -i *.deb再次说明,这个只需要在Ubuntu上面操作就可以了,假如是最新版本的12.04可以省略掉这个。下面剩余部分将在Ubuntu和Debian上面都通用。我们需要增加APT源来增加deb包,所以我们可以使用php5.3和php-fpmsudo echo deb http://php53.dotdeb.org stable all >>/etc/apt/sources.list更新apt:sudo apt-get update下面我们开始安装PHP(第一部分)sudo apt-get install php5-cli php5-common php5-suhosin我们需要安装命令行,不然接下来就会出现些小问题sudo apt-get install php5-fpm php5-cgi假如你打算使用数据库或者一些需要的模块(例如:mcrypt,ldap,snmp等)你同样可以安装他们。好了,我们现在已经安装完了nginx和php一个注意点:假如你使用php的短标记(< ),你需要在php.ini中开启(fpm和cli同样),假如你不改变这些,你将看到代码以文本的方式显示。3.完成重启nginx服务器sudo /etc/init.d/nginx restart配置完成php.ini后需要重启php5-fpm,使用命令sudo /etc/init.d/php5-fpm restart全部完成,你可以运行了。4.测试我们可以在/var/www中创建一个index.php的文件,内容如下:< php phpinfo(); >通过浏览器访问,你可以看到php的一个大致的信息,假如没有则说明一些配置错误,需要重新检查。5.问题和最终提示假如你没有看到phpinfo,可能会出现一些错误,那可以执行:sudo tail /var/log/nginx/error.log查看错误日志,另外每次当你修改了php.ini后,需要重启php5-fpm。无需重启nginx。在默认的配置中nginx是启用了fastcgi的错误日志的,假如看到一个严重的错误(例如出现cannot redeclare class xyz),nginx可以看到这个“漂亮的”错误页面,那可能是一些错误发生了。假如这样你可以关闭,假如php5-fpm不能运行,你的php文件将不会被解析,并且nginx会显示一个错误页面。好了,我猜你已经完成了,并且现在使用nginx作为你的web服务器,nginx是一个小巧、漂亮并且你可以配置很多东西的一个东东,假如你需要伪静态,注意nginx不会运行 .htaccess 文件,你需要伪静态更改vhost配置。假如对在Linux下感兴趣的朋友可以查看《Linux下的DedeCMS站点高级安全策略》翻译:天涯 原文:http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian
- 4Ubuntu 9.10(Karmic Koala)采用GNOME 2.28桌面环境,GNOME2.28将带来更多的改进,采用最新的Linux kernel 2.6.31。假如你的Ubuntu还不是最新的9.10,那还等什么,快来升级安装吧。图1:打开 系统—系统管理—更新管理器图2:点检查,假如有软件要更新,先把所有更新安装上。升级一般来说只能从9.04直接升级,假如你现在的版本比9.04老,那么你首先要升级到9.04。假如你的系统有软件要更新,那么一定要先把这些软件更新完之后再升级到9.10。享受你的Ubuntu 9.10吧。好像升级完之后menu.lst是不会自动升级的。反正我的没有。只好手动改了。只要照着新内核的名字把老的替换掉就可以了。 修改源(见图3-4),删除9.04的源,复制一个Ubuntu 9.10的源进去即可。(我用的是下面的)可以参考:Ubuntu 9.10 更新源 与 Ubuntu 9.10 教育网源deb http://tw.archive.Ubuntu.com/ubuntu/ karmic main universe restricted multiversedeb http://tw.archive.Ubuntu.com/ubuntu/ karmic-security universe main multiverse restricteddeb http://tw.archive.Ubuntu.com/ubuntu/ karmic-updates universe main multiverse restricteddeb http://tw.archive.Ubuntu.com/ubuntu/ karmic-proposed universe main multiverse restricteddeb http://tw.archive.Ubuntu.com/ubuntu/ karmic-backports universe main multiverse restricteddeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic main universe restricted multiversedeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic-security universe main multiverse restricteddeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic-updates universe main multiverse restricteddeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic-proposed universe main multiverse restricteddeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic-backports universe main multiverse restricted图3:图4sudo apt-get update更新源列表,必须执行.假如发现速度慢则换别的源(见图5)。sudo apt-get -d dist-upgrade-d 表示只下载文件 ,先把文件下载下来,假如速度慢则换源再继续(见图6)。图5图6sudo update-manager -d开始升级到Ubuntu 9.10,(见图7),图7 你想现在开始升级吗? 点击开始升级。(见图8)图8升级完成之后,系统会要求你重启。不急,选择不重启。为了系统下次能够正常启动,还需要进行进一步软件包检查。关闭升级窗口之后,再重复使用:sudo apt-get updatesudo apt-get upgrade图9图10成功升级到Ubuntu 9.10。(见图11)图11
- 5手机进水了怎么办?(教你快速排水的方法,让手机重获新生!)
- 6Ubuntu 9.10(Karmic Koala)采用GNOME 2.28桌面环境,GNOME2.28将带来更多的改进,采用最新的Linux kernel 2.6.31。假如你的Ubuntu还不是最新的9.10,那还等什么,快来升级安装吧。图1:打开 系统—系统管理—更新管理器图2:点检查,假如有软件要更新,先把所有更新安装上。升级一般来说只能从9.04直接升级,假如你现在的版本比9.04老,那么你首先要升级到9.04。假如你的系统有软件要更新,那么一定要先把这些软件更新完之后再升级到9.10。享受你的Ubuntu 9.10吧。好像升级完之后menu.lst是不会自动升级的。反正我的没有。只好手动改了。只要照着新内核的名字把老的替换掉就可以了。 修改源(见图3-4),删除9.04的源,复制一个Ubuntu 9.10的源进去即可。(我用的是下面的)可以参考:Ubuntu 9.10 更新源 与 Ubuntu 9.10 教育网源deb http://tw.archive.Ubuntu.com/ubuntu/ karmic main universe restricted multiversedeb http://tw.archive.Ubuntu.com/ubuntu/ karmic-security universe main multiverse restricteddeb http://tw.archive.Ubuntu.com/ubuntu/ karmic-updates universe main multiverse restricteddeb http://tw.archive.Ubuntu.com/ubuntu/ karmic-proposed universe main multiverse restricteddeb http://tw.archive.Ubuntu.com/ubuntu/ karmic-backports universe main multiverse restricteddeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic main universe restricted multiversedeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic-security universe main multiverse restricteddeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic-updates universe main multiverse restricteddeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic-proposed universe main multiverse restricteddeb-src http://tw.archive.Ubuntu.com/ubuntu/ karmic-backports universe main multiverse restricted图3:图4sudo apt-get update更新源列表,必须执行.假如发现速度慢则换别的源(见图5)。sudo apt-get -d dist-upgrade-d 表示只下载文件 ,先把文件下载下来,假如速度慢则换源再继续(见图6)。图5图6sudo update-manager -d开始升级到Ubuntu 9.10,(见图7),图7 你想现在开始升级吗? 点击开始升级。(见图8)图8升级完成之后,系统会要求你重启。不急,选择不重启。为了系统下次能够正常启动,还需要进行进一步软件包检查。关闭升级窗口之后,再重复使用:sudo apt-get updatesudo apt-get upgrade图9图10成功升级到Ubuntu 9.10。(见图11)图11
- 7我们在Linux中编程的时候,有时候会发现,用户名太长了真不好。特别是虚拟机小窗口显示的时候,前面的路径一个个加在一起,结果路径就变得好长。这样我们的命令没敲几个就要换行,很麻烦,那么怎么将Linux的用户名改短一下呢?1、我们直接在当前用户下,用usermod,发现会出错,如下:2、显示的错误是:用户hujinjin当前正在使用。3、我们将当前hujinjin用户注销,再用其他的用户来登录,再切换到root用户,再来执行修改用户名的操作,如下图:4、可知修改成功了,不过,我的hjj用户的主目录的文件夹的名字还是hujinjin,并没有改为hjj。我们想要的效果还是没有达到,我们尝试将hujinjin文件夹改名为hjj,文件夹改名后.但是问题出现了,现在找不到hjj用户的家目录,那么我们只有将系统中存储的hjj的主目录由hujinjin改为hjj.修改前如下:5、修改后,如下:6、修改完成后,我们在root用户下切换到hjj用户,发现能够正常切换到用户主目录了,如下:7、修改完成!
- 8若是你安装Ubuntu原先的版本,你需要升级你的版本到Ubuntu 11.04,我们原先介绍过,在此不再赘述。参考此文章。接下来是大家要做的事情!若是你喜欢Unity,可是你的显卡不给力3D不支持,怎么办呢?安装Unity-2D:sudo apt-add-ppa repository: unity-2d-team/unity-2d-daily#2 安装更新Ubuntu最新版本,并不意味着你的软件是最新版本,对吧?升级你的软件版本:sudo apt-get update && sudo apt-get upgrade#3 安装Ubuntu TweakUbuntu Tweak是最给力的ubuntu设置工具之一。安装它,很简单:sudo add-apt-repository ppa:tualatrix/ppa#4 添加Medibuntu仓库源,激活Canonical伙伴软件Medibuntu是一些必要的但是不能封装在Ubuntu中的软件,比如win32codec,google-earth,opera等等。sudo apt-get install medibuntu#5 安装sambasamba服务器安装后,就可以与你所在的网络中的其他同学共享文件了。sudo apt-get install samba#6 安装媒体工具首先安装vlc–强大的东东sudo apt-get install vlc还需要安装一些常用的编码sudo apt-get install non-free-codecs libxine1-ffmpeg gxine mencoder libmpcdec3 libquicktime1 flac faac faad sox ffmpeg2theora libmpeg2-4若需要支持DVD,则sudo apt-get install libdvdcss2 && sudo /usr/share/doc/libdvdread4/./install-css.sh还需要Flash支持啊,虽然你恨它,可是没它真有点不行!在Ubuntu软件中心搜索安装即可!64位系统的同学可以使用命令安装sudo add-apt-repository ppa:sevenmachines/flash#7 想玩WOW,CS吗?安装PlayOnLinux!sudo apt-get install playonlinux#8 想玩其他游戏?PlayDeb!!可以添加Playdeb源http://archive.getdeb.net/install_deb/playdeb_0.3-1~getdeb1_all.deb然后,可以点击playdeb上的软件就可以一键安装!#9 XMBC–强大的媒体中心无需多言,命令安装:sudo add-apt-repository ppa:team-xbmc#10 视频编辑–Openshot虽然系统自带的opentivi可以,但是openshot更好用!安装最新版本:sudo add-apt-repository ppa:jonoomph/openshot-edge#11 备份数据Deja Dup安装:sudo apt-get install deja-dup#12 安装BT客户端下载BT,比如各种文艺片,你懂的,我不看,但是看到同学们津津有味,嗯,提供客户端:@,Deluge客户端sudo add-apt-repository ppa:deluge-team/ppa@,Vuze客户端sudo apt-get install vuze#13,安装ftp客户端Filezilla有网站/博客的同学,推荐FTP客户端。安装:sudo apt-get install filezilla#14,IM即时通讯QQ现在的webqq还算可以,empathy喝pidgin可以安装最新的libqq2010协议@ googlecode;新浪微博很多客户端,除官方推荐外还有eicodesign,还有gwibber的插件sudo apt-add-repository ppa:gwibber-team/ppamsn客户端sudo apt-get install amsn其他的就容易解决啦!还有skype:sudo apt-get update && sudo apt-get install skype#15,安装Java run time JREsudo add-apt-repository ppa:ferramroberto/java#16,安装Dropbox!我们介绍过很多云存储客户端,在此不详细介绍了@ here!#17,虚拟机virtual box弄个游戏什么的,有时候虚拟机也是必要的。Ubuntu系统软件中心搜索安装。#18,图像编辑GIMP,当属第一!安装最新版,虽然系统自带:sudo add-apt-repository ppa:matthaeus123/mrw-gimp-svn#19,喜欢conky?安装!sudo apt-get install conky其他配置自己找找主题即可。我会在以后将原先总结的conky主题给大家弄下,敬请期待!还有screenlet之类的小插件:sudo apt-add-repository ppa:screenlets/ppa#20,安装解压文件废话少说,命令:sudo apt-get install unace unrar zip unzip p7zip-full p7zip-rar sharutils rar uudeview mpack lha arj cabextract file-roller看看那些压缩文件还打不开吗?小样,弄不死它!#21,其他还有截图工具shutter,sshFQ利器图形界面gstm!不一而足!若有错误,敬请指出。本文写作过程中参考了ubuntuwiki&unixmen
- 9电脑扬声器没有声音的设置方法(解决电脑扬声器无声的问题,让音频正常播放)
- 10VMware,虚拟系统之王,以前介绍过,见博文:诡异的虚拟机大师——VMware,VMware的强悍之处很多,其中之一就是可以轻松在虚拟和现实中穿梭,当然要实现这一愿望,就得安装VMware Tools了,呵呵,有些人可以不知道怎么安装呢,尤其LINUX下的安装,今天偶就把偶的安装过程和大家分享一下,呵呵,有不当之处,还请斧正 WIN系统操作系统一向追求易用为上,所以呀,安装VMware Tools也是一件非常轻松简单的事情,看截图吧(以最新推出的WIN2008测试版为例,其他像XP、VISTA都一样) 弹出对话框,确认是否安装,这不是废话嘛,当然要安装了 一会,VMware Tools的安装文件就被加载到系统的光驱中并自动运行安装程序了 WIN系统操作系统的一大毛病,需要重启,重启后状态栏显示为安装成功就一切OK了 和WIN2008时的虚拟机状态栏显示的一样 和WIN2008仍然是一样 也可以加载到光驱中,可不能自动安装了,这就是LINUX的一大缺点,易用性太差 UBUNTU自带的新立得安装管理器也不好使,看来只能手动命令行安装了 UBUNTU的命令行窗口就是“附件”里的“终端”,好奇怪的名字 13.jpg: 这是比关键的步骤啦,依次输入以下命令: --------------------------该行不输入 $sudo apt-get install build-essential --------------------------该行不输入 后面一路回答Y或回车就OK了 好了,安装到此结束,可以享受穿梭于真实与虚拟的快感了
- 11让GUEST识别USB设备1、最简单的办法如下:复制代码代码如下:$ sudo gedit /etc/fstab复制代码代码如下:# the USB group复制代码代码如下:$ sudo groupadd usbfs复制代码代码如下:$ cat /etc/group | grep usbfs复制代码代码如下:$ sudo gedit /etc/group复制代码代码如下:$ sudo gedit /etc/fstab在 Linux 中永久修改 USB 设备权限复制代码代码如下:$ lsusb -vvv 复制代码代码如下:$ sudo vi /etc/udev/rules.d/50-myusb.rules 复制代码代码如下:$ sudo udevadm control --reload 接着验证下 USB 设备的权限。
- 12ubuntu安装mac os x主题步骤来咯~下文将为大家演示ubuntu14.04安装mac os x主题教程,安装MAC OS X 主题会帮助你的 Ubuntu 14.04 看起来更像MAC OS X哦~第三步、在Ubuntu 14.04上安装Mac OS X主题现在unity桌面看起来就像Mac了,你已经有了mac的图标,mac的窗口样式,mac的鼠标指针样式。
全站热门
总所周知,Docky是Unix/Linux类系统中的轻量级应用启动器。我是 Lubuntu 和 Docky 的忠实粉丝,因为它们不需要占用我的所有系统资源,这样就可以同时运行更多应用。我在笔记本上使用Docky应用启动器,系统为Lubuntu 14.04.但是,假如你使用LXDE发行版,你也许肯定遇到过使用Docky时报混合的错误。看下面的截图。假如不开启混合功能,就不能使用Docky一些特别功能,如3D背景、自动隐藏。假如你想开启这些Docky的功能,那么你需要在你的LXDE系统中开启混合功能。就像这样,首先安装 xcompmgr包:sudo apt-get install xcompmgr然后,选择菜单(Menu) ->偏好(Preferences) ->LXSession默认程序(Default applications for LXSession)。选择自动开始(Autostart)选项卡。 在(+增加)+Add框中输入“@xcompmgr -n”不带引号。最后点击增加按钮。这样就搞定了。关掉LXSession配置窗口,注销或重启系统。之后,你就可以看见混合功能已经打开。这时,你就可以使用3D背景和隐藏功能,如自动隐藏(Auto-hide),Intellihide和窗口闪烁(Window dodge)等。搞定!干杯!
大多数的 Linux Distro 也将 IPv6 (Internet Protocol Version 6) 预设地开启,但有时实际上不需要 IPv6 支援,如要关闭 IPv6 可用以下方法: Debian / Ubuntu 1. 开启 /etc/modprobe.d/aliases 2. 里面有一行是 “alias net-pf-10 ipv6″ 3. 将以上一行用以下两行取代: alias net-pf-10 off alias ipv6 off Red Hat 1. 开启 /etc/modprobe.conf 2. 加入这一行: alias net-pf-10 off 更改以上档案后重新启动系统,这时 IPv6 便会关闭。我在 Ubuntu 上关闭了 IPv6 后,发觉 DNS 的效能改善了,那就是一般上网时要 resolve ip 时回应得更快。
Wireshark 是一个基于 GUI 的数据包捕获和嗅探工具。该工具被网络管理员普遍使用,网络安全工程师或开发人员对于各种任务的数据包级的网络分析是必需的,例如在网络故障,漏洞测试,应用程序调试,或逆向协议工程是必需的。 Wireshark 允许实时记录数据包,并通过便捷的图形用户界面浏览他们的协议首部和有效负荷。这是 Wireshark 的 UI,尤其是在 Ubuntu 桌面下运行时,当你向上或向下滚动分组列表视图时,或开始加载一个 pre-recorded 包转储文件时,有时会挂起或冻结,并出现以下错误。显然,这个错误是由 Wireshark 和叠加滚动条之间的一些不兼容造成的,在最新的 Ubuntu 桌面还没有被解决(例如,Ubuntu 15.04 的桌面)。一种避免 Wireshark 的 UI 卡死的办法就是 暂时禁用叠加滚动条。在 Wireshark 上有两种方法来禁用叠加滚动条,这取决于你在桌面上如何启动 Wireshark 的。命令行解决方法复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:$ cp /usr/share/applications/wireshark.desktop ~/.local/share/applications/
今天查了一下,squid对dns的支持是这样一个原理: 1、假如dns server发送域名时带有ttl,则以此ttl为准,一般dns server都会带有对ttl的支持,现在我用的dnsmasq默认ttl是0。 2、假如dns server没发送ttl(ttl=0),squid就以自己的配置positive_dns_ttl为准,这个配置默认是6小时。 3、原先squid里配置的一个negative_dns_ttl,证实是配错了,这个配置指的是squid在取不到域名(出错)的情况下会多久再去重取。 我原先的情况是positive_dns_ttl和dns server的ttl都没有配置而配置了negative_dns_ttl,这时squid以默认的positive_dns_ttl为准,即6小时,这个时间对web服务器来说太长了。当前我解决的办法是修改dns server的ttl为60 有些朋友可能是用bind来做的dns,bind可能默认的ttl并不是0,所以用positive_dns_ttl配置不起效的话,修改ttl值就好。 附:检测dns服务器ttl值的方法 在一台linux机器上,修改/etc/resolv.conf将dns指向到要测试的dns,然后执行 dig test.com 假如该dns能解析test.com,就会返回一系列数据,其中有一列指明了ttl值,一试即知。
Ubuntu是一个以桌面应用为主的Linux操作系统,是linux平台下很受欢迎的系统。Putty是Windows上常用的登录Linux的终端工具。登录终端如图系统内登录终端一样。默认情况下,ubuntu终端上显示的中文字符常常是乱码。下面就说下,如何解决Putty登录Ubuntu中文显示乱码问题。1、在使用putty连接登录Linux时,发现了终端下显示乱码,如下图所示。2、之后,在终端下输入echo $LANG $LANGUAGE,回测。之后即可看到en_US、UTF-8。这个信息说明该系统下支持这两种字符集。3、之后,选择标题,右击选择菜单中的“Change Settings”选项。4、之后,进入到putty的设置页面。同时,也可以直接双击putty运行程序,进入到设置页面。5、进入到设置页面之后,选择左侧点击【Window】下的“Translation”选项,之后在右侧会看到“Remote character set:”选项。6、通过下拉菜单,选择“UTF-8”字符集选项。7、之后,再次在终端下输入相应的指令,即可看到显示正常的中文编码了。8、最后,下次登录服务器只要双击putty.exe,然后在页面中输入IP以及端口(默认22即可),然后【Open】就可以连接ubuntu服务器了。连接服务器需要进行身份验证,输入系统的用户名以及密码。注意事项:中文乱码的解决也需要系统的支持,本经验验证是在ubuntu下进行的。
热门文章
- 1电脑手绘装修柜子教程(学习如何使用电脑手绘技巧来装修你的柜子,让家居更加个性化)
- 2系统装好后,源也设置好了(把以前默认的源注释掉了,改成了几个教育网的源,北交的源相对比较快),下来的任务就是更新系统和安装所需的软件,但是前提是必须可以上网,因为实验室用的都是固定IP,所以需要将Ubuntu设置为静态IP。方法如下: 1、修改网络配置文件 网络配置信息存储在/etc/network/interfaces 文件中 sudo vi /etc/network/interfaces 我用vi打开,我的文件显示如下内容: # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback 我的网络配置文件中只有一个环回地址,即127.0.0.1。在下面添加: auto eth0 #指明网卡eth0在系统启动时自动加载 iface eth0 inet static #指明eth0采用ipv4地址,inet表示ipv4地址,inet6表示ipv6地址; static表示静态,dhcp表示动态 address 172.22.112.13 #静态ip netmask 255.255.255.128 #子网掩码 gateway 172.22.112.1 #网关地址 :wq #保存退出 2、设置DNS服务器 在静态ip下还要配置DNS服务器(Windows也是这么做的),DNS信息存储在/etc/resolv.conf 中,假如没有此文件则直接新建: sudo vi /etc/resolv.conf #用vi打开文件 进入编辑模式,输入a,然后依次输入下面内容: nameserver 202.202.32.33 #首选DNS服务器 nameserver 61.128.128.68 #备用DNS服务器 :wq #保存退出 3、全部修改后,需要将网卡重启,让修改生效,方法如下,输入以下命令: sudo ifdown eth0 #禁用网卡 sudo ifup eth0 #启动网卡
- 3电脑显示内核数据错误解决方案(解决内核数据错误问题的关键步骤)
- 4电脑开机出现微软错误弹窗的解决方法(如何应对电脑开机时出现的微软错误弹窗)
- 5opoor11plus的优势与使用经验分享(一款高性价比的智能手机,为您带来卓越的使用体验)
- 6在之前的文章中, 我们讨论过如何在Linux服务器安装各种各样的打印机(当然也包括网络扫描仪)。今天我们将来处理另一端:如何通过桌面客户端来访问网络打印机/扫描仪。网络环境 在这个安装教程中,我们的服务器(Debian Wheezy 7.2版本)的IP地址是192.168.0.10,我们的客户端(Ubuntu 12.04版本)的IP地址是192.168.0.105.注意这两台机器是在同一个网段(192.168.0.0/24).假如我们想允许打印机访问其它网段,我们需要在服务器上修改cupsd.conf文件的以下部分: Order allow,deny Allow localhost Allow from XXX.YYY.ZZZ.*(在上述例子中,我们授予打印机从本地或者任何系统能够访问打印机,这些系统的IPv4地址以XXX.YYY.ZZZ开始。为了验证哪些打印机可以在我们的服务器上适用,我们也可以在服务器上使用lpstat命令,或者浏览网页https://192.168.0.10:631/printers page.root@debian:~# lpstat -a EPSON_Stylus_CX3900 accepting requests since Mon 18 Aug 2014 10:49:33 AM WARSTPDF accepting requests since Mon 06 May 2013 04:46:11 PM WARSTSamsungML1640Series accepting requests since Wed 13 Aug 2014 10:13:47 PM WARST在Ubuntu桌面安装网络打印机 在我们的Ubuntu 12.04的客户端,我们将打开Printing菜单(Dash ->Printing).你会注意到在其它发行版中,这个名字也许会有一点差别(例如会叫做Printers 或者 Print & Fax):还没有打印机添加到我们的客户端:下面是在Ubuntu桌面客户端安装一台网络打印机的一些步骤。1) “Add”按钮将弹出 New Printer 菜单。我们将选择Network printer ->Find Network Printer并输入我们服务器的IP地址,接着点击Find:2) 在最下面我们将会看到可使用的打印机的名称。我们来选择这台三星打印机并按Forward:3) 我们将会被要求填写一些关于我们打印机的信息。当我们输入完成时,将点击 Apply按钮。4) 我们接下来将被询问是否打印一张测试页。让我们点击Print test page吧:这个打印任务将被创建为本地id 2:5)适用我们服务器上的CUPS网络借口,我们可以观察到打印任务已经提交成功了(打印机 ->SamsungML1640系列 ->显示完成任务):我们也可以通过在打印机服务器上运行以下命令显示同样信息: root@debian:~# cat /var/log/cups/page_log | grep -i samsung SamsungML1640Series root 27 [13/Aug/2014:22:15:34 -0300] 1 1 - localhost Test Page - -SamsungML1640Series gacanepa 28 [18/Aug/2014:11:28:50 -0300] 1 1 - 192.168.0.105 Test Page - -SamsungML1640Series gacanepa 29 [18/Aug/2014:11:45:57 -0300] 1 1 - 192.168.0.105 Test Page - -这个page_log日志显示每一页被打印过的信息,只包括哪些用户发送这些打印任务,打印日期&时间,以及客户端的IPv4地址。要安装Epson喷墨和PDF打印机,我们只需重复第1-5的步骤即可,并每一次选择左边的打印队列。例如,在下图中选择PDF打印机:然而,请注意到根据CUPS-PDF 文档中,根据默认:PDF文件将会被放置在打印作业的所有者命名的子目录内。在这个案例中,打印作业的所有者不能被识别(i.e.不会存在服务器中)输出的内容被放置在匿名操作的文件中。这些默认的文件夹可以通过改变在/etc/cups/cups-pdf目录中的Out值和AnonDirName变量来修改。这里,${HOME}被扩展到用户的家目录中:Out ${HOME}/PDFAnonDirName /var/spool/cups-pdf/ANONYMOUS网络打印实例 实例 #1 从Ubuntu12.04中打印,通常在本地用gacanepa(具有相同名字存在打印机服务器上)。打印到PDF打印机之后,让我们来检查打印机服务器上的/home/gacanepa/PDF目录下的内容:root@debian:~# ls -l /home/gacanepa/PDF total 368-rw------- 1 gacanepa gacanepa 279176 Aug 18 13:49 Test_Page.pdf-rw------- 1 gacanepa gacanepa 7994 Aug 18 13:50 Untitled1.pdf-rw------- 1 gacanepa gacanepa 74911 Aug 18 14:36 Welcome_to_Conference_-_Thomas_S__Monson.pdf这个PDF文件被创建时的,权限已经设置为600(-rw-------),这意味着只有打印任务的所有者(在这个例子中是gacanepa )可以访问它们。我们可以通过修改the /etc/cups/cups-pdf.conf文件UserUMask变量的值来改变这种行为。例如,0033的umask值将可以使PDF打印者以及其它所有者拥有创建文件的权限,但是只读权限也会赋予给其它所有者。 root@debian:~# grep -i UserUMask /etc/cups/cups-pdf.conf ### Key: UserUMaskUserUMask 0033对于那些不熟悉umask(有名用户文件创建模式掩码),它作为一组可以用于控制那些为新文件创建时修改默认权限。给予特定的umask值,在计算最终文件的许可权限时,在文件基本权限(0666)和umask的单项按位补码之间进行按位布尔 AND 运算。因此,假如设置一个umask值为0033,那么新文件默认的权限将不是(0033)AND 0666 = 644的值(文件拥有者具有读/写/执行的权限,其他人拥有只读权限)。实例 #2 在Ubuntu12.04执行打印,本地登录用户为jdoe(同样的帐号名称但是服务器上是不存在的)。 root@debian:~# ls -l /var/spool/cups-pdf/ANONYMOUS total 5428-rw-rw-rw- 1 nobody nogroup 5543070 Aug 18 15:57 Linux_-_Wikipedia__the_free_encyclopedia.pdf这个PDF被创建时赋予的权限是666(-rw-rw-rw-),这意味着每个人都可以访问它们。我们可以通过编辑在/etc/cups/cups-pdf.conf文件中的AnonUMask值来改变这种行为。在这一点上,你也许会疑惑:为什么同样安装一台网络打印机,大多数(当然不是全部)当前的Linux桌面发行版都会内置一个打印到文件的功能来允许用户动态创建PDF文件?使用一台网络PDF打印机有以下好处:一个网络打印机(任何类型的)允许你直接从命令行直接打印,无需首先打开文件。在其它操作系统上安装一个网络客户端,一个PDF网络打印机备件,于是系统管理员不必再单独需要安装PDF创建者实用程序(也避免了最终用户安装这些工具存在的风险)。网络PDF打印机允许通过配置权限直接打印一个网络共享,如我们所见的例子。在Ubuntu桌面安装一个网络扫描仪 这里是通过Ubuntu桌面客户端安装和访问一台网络扫描仪的一些步骤。假设网络扫描仪服务器已经启动并运行所述here.1)让我们第一步来检查在我们的Ubuntu客户端主机上是否存在一台可用的扫描仪。没有先前的安装,你将会看到信息提示没有识别到扫描仪. $ scanimage -L2) 现在我们需要启用saned进程,用来预装Ubuntu桌面。要启用它,我们需要编辑/etc/default/saned文件,并设置RUN变量为yes:$ sudo vim /etc/default/saned # Set to yes to start sanedRUN=yes3) 让我们编辑/etc/sane.d/net.conf文件,并在扫描仪安装后添加服务器IP地址:4) 重启saned进程:$ sudo service saned restart 5) 现在让我们来看看扫描仪是否可用: 现在我们可以打开Simple Scan(或者其它扫描工具)并开始扫描文件。我们可以旋转,修剪,和保存生成的图片:总结 拥有一或多台网络打印机或扫描仪在任何办公和家庭网络中都是非常方便适用的,并同时提供了许多好处。例举如下:多用户(从不同的平台/地方)都能够向打印机发送打印作业的队列。由于硬件共享达到了节约成本和维护的作用。我希望该文可以帮助你更充分地利用这些有点。
- 7很遗憾,由于 Ubuntu 平台市场占比不高,没有微信客户端可用。但是,网页版也是个不错的选择。在 Ubuntu 15.10 中,通过 Chromium 浏览器登录和使用微信,都非常方便。软件名称:chromium浏览器 v27.0.1444软件大小:26.79MB更新时间:2013-03-191、百度“微信网页版”,选择那个中文介绍的网址登录。2、进入微信页面,显示一个二维码,提示用手机微信“扫一扫”功能扫描登录。3、打开手机微信,点按右上角的“+”号——扫一扫,成功后点按“登录”确认。电脑上的网页版微信即登录成功。4、左侧上方显示三个菜单按钮,分别是最近联系人、阅读和通讯录。默认为最近联系人,点击联系人中的一个,右侧会话窗口激活,即可发起会话。5、点击“阅读”按钮,即可阅读热门微信公众号的文章。6、紧挨着阅读的按钮是通讯录,点击可以查看手机微信上的所有联系人,点击某个联系人姓名即可开始会话。7、右侧会话窗口还提供截图和发文件功能按钮。截图估计用不了,因为需要插件。发文件倒是很正常。虽然没有语音和视频会话功能,不过对于姥姥不疼舅舅不爱的桌面 Linux 平台来说,这就不错了。相关推荐: Ubuntu中Chromium安装Flash的方法
- 8LAMP的概念:Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。安装LAMP就已经安装了 网页服务器 数据库 Perl/PHP/Python语音环境。假如你是安装到本机上测试的话,最好确保hosts的内容为这样username@ubuntu:~$ cat /etc/hosts127.0.0.1 localhost安装安装LAMP套件一次性安装sudo tasksel用空格选中LAMP,回车即可。(不过要小心别修改其他的选项,否则会安装或删除该服务!)仔细手动安装法(最小组件)sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server有些是因为依赖关系会自动安装的,但是为了保险,所以多打了一些。开始安装时sudo会问您密码(只是有可能),这是系统管理员的密码。安装途中MySQL要求设定账户有密码,这是与操作系统没关系的账户与密码。图形安装法在新立得软件包管理器中选择 编辑--使用任务分组标记软件包在打开的窗口中 勾选 LAMP SERVER 然后确定。在主窗口中 点击绿色的对号 应用 按钮好了 。接下来就是等待...等待新立得 自动下载安装完。注意: 安装途中MySQL要求设定账户有密码,这是与操作系统没关系的账户与密码。打开 http://localhost 或 http://127.0.0.1图形化管理软件(可选)安装webmin这是一个系统管理软件,管理包含LAMP组件在内的大部分系统服务。同时能进行安装、进程管理等多种系统功能。先到webmin官方下载软件 在该软件包存放位置下,打开终端。(你也可以用命令切换到该位置)sudo dpkg -i 软件包名(用Tab可以少输点字)假如提示缺少依赖,那差什么就装什么访问地址(注意是加密安全链接):https://127.0.0.1:10000安装phpmyadmin这是一个数据库管理软件,管理mysql.其实这也是个安全隐患,建议通过openssh来管理服务器。方案一:终端中运行命令 (不推荐)sudo apt-get install phpmyadmin方案二:强烈建议不要从源里安装在phpmyadmin官网上下载软件包,解压缩到本地目录/var/www/phpmyadmintips:假如你请直接解压到/var/www/phpmyadmin,假如不存在phpmyadmin,请自行创建在终端下执行sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.phpsudo gedit /var/www/phpmyadmin/config.inc.php找到“blowfish_secret”在后面填上任意字母$cfg[Servers][$i][auth_type]=cookie;$cfg[Servers][$i][host]=localhost;$cfg[Servers][$i][connect_type]=tcp;$cfg[Servers][$i][compress]=false;$cfg[Servers][$i][extension]=mysql;保存,退出安装php5-mcryptsudo apt-get install php5-mcrypt编辑php配置文件sudo gedit /etc/php5/apache2/php.ini在extension下面加上(任何独立一行就行)extension=php_mcrypt.so (原来的php5-mcrypt.so无效)保存,重启apache2sudo /etc/init.d/apache2 restart在浏览器里输入http://localhost/phpmyadmin注:假如进入phpmyadmin出现配置文件引用失败则删除刚自己添加的$cfg[Servers][$i][auth_type]=cookie;$cfg[Servers][$i][host]=localhost;$cfg[Servers][$i][connect_type]=tcp;$cfg[Servers][$i][compress]=false;$cfg[Servers][$i][extension]=mysql;保存,退出然后再重启apache2sudo /etc/init.d/apache2 restart在浏览器里输入http://localhost/phpmyadmin配置文件路径1>apache 的配置文件路径 /etc/apache2/apache2.conf2>apache 网站字符编码配置路径 /etc/apache2/conf.d/charset3>php.ini 路径 /etc/php5/apache2/php.ini4>mysql配置文件 路径 /etc/mysql/my.cnf 一般不要使用,尤其是新手5>phpmyadmin配置文件路径 /etc/phpmyadmin/apache.conf6>默认网站根目录 /var/www常用命令1.重启apachesudo /etc/init.d/apache2 restart2.重启mysqlsudo /etc/init.d/mysql restart配置apache1.更改默认字符集终端中使用命令sudo nano /etc/apache2/conf.d/charset将其中的# AddDefaultCharset的井号去掉,后面字段改成UTF-8(假如您的网站是这样了话)AddDefaultCharset UTF-8中间的空格数并不重要,但一定要有。2.添加支持文件类型(一般不需要),与网站地址(需要)终端中使用命令sudo nano /etc/apache2/apache2.conf在配置文件最后面加入下面几行:添加文件类型支持 (注:假如无法在html中解析php的语句,添加下面语句。网上好多都是说直接编辑httpd.conf,但是ubuntu版本的apache2没有这个文件,你可以直接编辑apache2.conf,或者自己加一个httpd.conf,作为用户配置文件,apache2.conf 中include这个配置文件。)AddType application/x-httpd-php .php .htm .html添加首页文件 三个的顺序可以换 前面的访问优先 (当然你也可以加别的 比如default.php)DirectoryIndex index.htm index.html index.php更改服务器地址(这里改为本机),您可以凭您喜好修改,就是必须一致ServerName 127.0.0.1修改apache的根目录DocumentRoot:sudo nano /etc/apache2/sites-enabled/000-default将其中的 DocumentRoot /var/www 改成您想要的目录比如 DocumentRoot /var/www/htdocs/ 以上Apache2就基本配置完成了。重启Apache2服务即可。 下面的是参考,一般不需要改变,除非有特殊需求。sudo nano /etc/apache2/ports.conf #修改端口号,把 NameVirtualHost *:80 改为NameVirtualHost 127.0.0.1:80 , 修改 Listen 80再修改site的配置文件/etc/apache2/sites-available/default80是端口号sudo a2enmod rewrite #开启apache 的rewrite功能Apache模块sudo a2enmod #启用模块sudo a2dismod #禁用模块配置PHP5这个没什么好说的 根据个人自己需要建议将安全模块开启(注意!开启后phpmyadmin会不能用)sudo nano /etc/php5/conf.d/php.ini注意:你可能需要敲入命令php --ini或php -i | grep php.ini来获取你的php cli加载的php.ini路径(Loaded Configuration File,比如 /etc/php5/cli/php.ini 而非 /etc/php5/conf.d/php.ini)。但此文件并不一定是apache php5模块加载的php.ini文件,假如要获得apache php5模块加载的php.ini,请参见测试_phpinfo()nano可以用Ctrl+w来搜索将 safe_mode = off safe_mode = 设置为 safe_mode = on safe_mode = /var/www/htdocs/ 以上 /var/www/htdocs/是您在上面设置个网站根目录,请按照情况修改,结尾的/是一定要加的,不然 /var/www/htdocsa,/var/www/htdocsb,等目录也可以访问。以下是更改默认时区;date.timezone=去掉前面的分号 后面加个PRC 。表示中华人民共和国(就是GMT+8时区)date.timezone= PRC配置MySQLMySQL常用命令MySQL大部分命令是以;结尾,这里除了5给出的命令,其它一定要以;结尾!1.进入mysqlmysql -h [服务器地址] -u [用户名〕-p这是访问本地服务器mysql -h 127.0.0.1 -u [用户名〕 -p如:mysql -h 127.0.0.1 -u root -p认证成功之后就进入mysql的命令控制台,以下都是在mysql的命令控制台的命令。2.显示已经存在的数据库SHOW DATABASES;3.创建数据库 数据库名在这里是没有[]号的!!,还有在linux下是区分大小写(只是使用时有关!)。CREATE DATADASE [数据库名];4.创建一个受限用户 这个用户(testuser)只有一个数据库(这里是test库)的访问写入权限,这个数据库创建与删除表的权限,并且只能在本地登入,密码为userpasswdgrant select,insert,update,delete,create,alter on test.* to test@localhost IDENTIFIED BY userpasswd;5.退出数据库quit 或者 q配置文件(新手、无特殊要求勿动)sudo nano /etc/mysql/my.cnf这里有一个地方要注意 默认:是只允许本地访问数据库的这里不是说本机架设了网站,用户通过架设在的网页不能访问MySQL ,是指其它机子不能直接访问MySQL bind-address 127.0.0.1解除限制只能本地访问mysql,假如需要其他机器访问,应使用如下语句,把这“bind-address 127.0.0.1”句话用#注释掉#bind-address 127.0.0.1配置phpmyadmin(没装就不要看)sudo apt-get install phpmyadmin访问 http://localhost/phpmyadmin ,phpmyadmin 默认并不是安装在 /var/www下面的而是在 /usr/share/phpmyadmin你可以把phpmyadmin复制过去 或者 链接过去sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin然后 终端中运行命令sudo gedit /etc/phpmyadmin/apache.conf然后把下面两句的路径 改为/var/www/phpmyadmin(因为我已经配置好环境,所以忘记了phpmyadmin中默认配置怎么写的。。反正就是在第三行和第四行的两句.假如我没记错的话 应该是下面这样)Alias /phpmyadmin /usr/share/phpmyadmin改为:Alias /phpmyadmin /var/www/phpmyadminLAMP到此已经配置完成了测试 phpinfo(); (根据需要,自己选择,可不做)创建、测试phpinfo:sudo vi /var/www/info.php 注意:这里的路径错了,应该是sudo vi /var/www/htdocs/info.php 修改人:fenghelong邮箱fenghelong_njit@163.com< php phpinfo(); >打开 http://localhost/info.php 。性能优化(根据需要,自己选择,可不做)安装Zend Optimizer要求PHP版本为5.2,不支持Ubuntu10.04的PHP5.3,请参照PHP5.2。下载 Zend Optimizer。 直接贴下载地址,参考版本号改(这是32位的),不然主页要注册才能下 http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gztar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gzcd ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_compsudo mkdir /usr/local/zendsudo cp ZendOptimizer.so /usr/local/zend编辑php.inisudo gedit /etc/php5/apache2/php.ini开头加入,注意标点符号要英文。[Zend Optimizer]zend_optimizer.optimization_level=1 zend_extension=/usr/local/zend/ZendOptimizer.so重启apache2sudo /etc/init.d/apache2 restart还是上面那个phpinfo文件,要能看到如下信息This program makes use of the Zend Scripting Language Engine:Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies安裝XCachesudo apt-get install php5-xcacheroot@ubuntu:/home/qii# dpkg -l | grep xcachii php5-xcache 1.2.2-5 Fast, stable PHP opcode cacherxcache配置文件路径是/etc/php5/conf.d/xcache.ini编辑php.inisudo gedit /etc/php5/apache2/php.ini把xcache.ini的内容加入到php.ini。 重启apache2sudo /etc/init.d/apache2 restart检查安装是否成功root@ubuntu:/home/qii# php -vPHP 5.2.10-2ubuntu6 with Suhosin-Patch 0.9.7 (cli) (built: Oct 23 2009 16:30:10) Copyright (c) 1997-2009 The PHP GroupZend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies with XCache v1.2.2, Copyright (c) 2005-2007, by mOo还有前面info.php页应该有XCache模块这里有点奇怪的是,假如不把xcache.ini的内容加入php.ini,apache也能载入XCache,但info.php上没XCache模块。安装eAcceleratorsudo apt-get install php5-dev下载 eAcceleratorwget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2tar jxvf eaccelerator-0.9.6.1.tar.bz2cd eaccelerator-0.9.6.1phpizesudo ./configure -enable-eaccelerator=sharedsudo makeqii@ubuntu:~/tmp/eaccelerator-0.9.6.1$ sudo make installInstalling shared extensions: /usr/lib/php5/20060613+lfs/修改php.ini文件,安装为Zend扩展,最好放在开头,放到[zend]之前,免的出莫名其妙的问题:sudo vi /etc/php5/apache2/php.ini[eaccelerator]zend_extension=/usr/lib/php5/20060613+lfs/eaccelerator.so eaccelerator.shm_size=16 eaccelerator.cache_dir=/tmp/eaccelerator eaccelerator.enable=1 eaccelerator.optimizer=1 eaccelerator.check_mtime=1 eaccelerator.debug=0 eaccelerator.filter= eaccelerator.shm_max=0 eaccelerator.shm_ttl=0 eaccelerator.shm_prune_period=0 eaccelerator.shm_only=0 eaccelerator.compress=1 eaccelerator.compress_level=9 eaccelerator.allowed_admin_path=/var/www/control.php创建cache缓存目录eaccelerator.cache_dir=/var/cache/eaccelerator 这里定义cache路径默认值是/tmp/eaccelerator,这非常简单因为任何人都对该目录可写,但是并不明智,因为重启后系统会自动清理该目录。一个更好的地方是/var/cache/eaccelerator。创建该目录并确保它对eAccelerator的使用者可写(通常该用户是你的网络服务器运行者,可能是www-data)。 使用默认值的话这样继续:mkdir /tmp/eacceleratorchmod 777 /tmp/eaccelerator改成 /var/cache/eaccelerator的话这样继续,先改php.inieaccelerator.cache_dir=/var/cache/eacceleratorsudo mkdir /var/cache/eacceleratorsudo chown root:www-data /var/cache/eacceleratorsudo chmod u=rwx,g=rwx,o= /var/cache/eaccelerator复制控制文件control.php到网站根目录sudo cp control.php /var/www/htdocs/修改control.php的$user和$pw,默认是admin和eAcceleratorsudo vi /var/www/htdocs/control.php重启apachesudo /etc/init.d/apache2 restart打开 http://localhost/control.php查看之前的info.php页面,有下列字段:This program makes use of the Zend Scripting Language Engine:Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator安全隐藏服务器信息vim /etc/apache2/apache2.confServerTokens Prod指定apache2的运行账户以root来运行是很危险的,用下面的方法更改,这里是都改为www-datavim /etc/apache2/envvarsexport APACHE_RUN_USER=www-dataexport APACHE_RUN_GROUP=www-data要确认存在这些用户组。启用.htaccess这个对pbpbb3这样有附带.htaccess的程序有利,不过其它场合有可能引发问题。 方法:在网站主机配置下加入AllowOverride AuthConfi 例子:vim /etc/apache2/sites_available/default...AllowOverride AuthConfig...其他PDO的安装pecl search pdosudo pecl install pdosudo pecl install pdo_mysql最后编辑php.inisudo gedit /etc/php5/apache2/php.ini再最后面添加两行:extension = pdo.soextension = pdo_mysql.so排错无法解析php文件,浏览器提示下载所要打开的php文件执行:sudo apt-get install libapache2-mod-php5sudo a2enmod php5假如显示为:This module does not exist!那就要彻底删除libapache2-mod-php5,然后重新安装它sudo apt-get remove --purge libapache2-mod-php5sudo apt-get install libapache2-mod-php5重启apache2sudo /etc/init.d/apache2 restart清除浏览器缓存,然后输入http:localhost虚拟主机见Apache虚拟主机指南屏蔽迅雷迅雷的user-agent是Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; )Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.0)Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 3.5.20706)Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)通过.htaccess文件屏蔽迅雷的下载/盗链功能:RewriteEngine On#Anti ThunderRewriteCond %{HTTP_USER_AGENT} ^Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)___FCKpd___98nbsp; [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.0)___FCKpd___98nbsp; [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; )___FCKpd___98nbsp; [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 3.5.20706)___FCKpd___98nbsp; [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)___FCKpd___98nbsp; [NC]RewriteRule ^.*.(gif|jpg|bmp|zip|rar|exe|mp3|swf)___FCKpd___98nbsp; / [NC,F]你可以用Firefox的扩展user-agent switcher来测试效果。假如你的资料地址已经被迅雷索引,请修改资源的路径地址。假如用户手动用UltraEdit改写迅雷的user-agent,亦或者本机装虚拟机,虚拟机挂代理,迅雷挂虚拟机中的代理,这种屏蔽方法就失效了。附录apache2配置文件与子目录一览表/etc/apache2/apache2.conf 全局配置 /etc/apache2/envvars 环境变量 /etc/apache2/ports.conf httpd服务端口信息 /etc/apache2/conf.d/一般性配置文件存放地 /etc/apache2/mods-available/ 已安装的模块 /etc/apache2/mods-enabled/ 已经启用的模块/etc/apache2/sites-available/ 可用站点信息 /etc/apache2/sites-enabled/ 已经启用的站点信息,当中的文件是到/etc/apache2/sites-available/ 文件的软连接。 /etc/apache2/httpd.conf
- 9技嘉主板H61MS1——性能稳定可靠的选择(技嘉主板H61MS1的特点与优势)
- 10电脑音响线插法大全(一次搞定电脑音响线的插入方法)