概要:每次安装完虚拟机时,都要配置自己的环境,好多问题需要一个一个的寻找答案,浪费自己的时间,所以总结了一下留给以后参考使用

一、安装完成如需使用root身份登录,可打开终端输入以下命令:

# 设置root密码

sudo passwd root

#切换到root用户

sudo -s

想要在登录界面使用root身份登录,可编辑/etc/lightdm/目录下的lightdm.conf文件,如没有此文件,直接创建

/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

1.编辑/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

内容如下

[SeatDefaults]

autologin-user=root

user-session=ubuntu

greeter-show-manual-login=true

allow-guest=false

2.编辑 /root/.profile
vim /root/.profile

打开文件后找到“mesg on

将其更改为“tty -s && mesg n

3.用reboot命令重启即可

二、安装Openssh

1、Ubuntu 下安装OPenSSHServer 

sudo apt-get install openssh-server

2、对openssh server 进行配置

vim /etc/ssh/sshd_config

找到permitRootLogin on一行,改为PermitRootLogin Yes

3、重启openssh server

service sshd restart

三、ssh client 报 algorithm negotiation Failed的解决方法之一

1、修改sshd的配置文件 /etc/ssh/sshd_config

Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc

MACshmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96

KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org

2、重启服务

sudo /etc/init.d/ssh restart 重启sshd服务后,即可正常连接。

四、同步时间

安装ntpdate工具

# sudo apt-get install ntpdate

1.首先查看时区:

date -R

Tue,17 Dec 2013 18:23:01+0800

如果要修改时区,执行sudo tzselect

2.选择区域:亚洲

sudo tzselect

Please identify a locationso that time zone rules can be set correctly.

Please select a continentor ocean.

1) Africa

2) Americas

3) Antarctica

4) Arctic Ocean

5) Asia

#? 5

3.选择国家:中国

Please select a country.

9) China 26) Laos 43) Taiwan

#? 9

4.选择时区:北京时间

Please select one of thefollowing time zone regions.

1) east China - Beijing,Guangdong,Shanghai,etc.

2) Heilongjiang (exceptMohe),Jilin

#? 1

5.确认验证:

Is the above informationOK?

1) Yes

2) No

#? 1

6.复制文件到/etc目录下

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

7.更新时间

sudo ntpdate time.windows.com

五、安装YOucompleteme

1、卸载老版本vim
 sudo apt-get remove vim 
 sudo apt-get remove vim-runtime 
 sudo apt-get remove gvim 
 sudo apt-get remove vim-tiny 
 sudo apt-get remove vim-common 
 sudo apt-get remove vim-gui-common 
2、下载vim最新源码

cd ~

git clonehttps://github.com/vim/vim.git

3、进入vim

cd vim

设置Vim源码的编译属性

./configure--with-features=huge --enable-rubyinterp --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config-i386-linux-gnu/--enable-perlinterp --enable-gui=gtk2--enable-cscope --enable-luainterp --enable-perlinterp --enable-multibyte --prefix=/usr

需要重新配置可 输入makedistclean#清理一下上一次编译生成的所有文件

其中参数说明如下:

--with-features=huge:支持最大特性

--enable-rubyinterp:启用Vim对ruby编写的插件的支持

--enable-pythoninterp:启用Vim对python编写的插件的支持

--enable-luainterp:启用Vim对lua编写的插件的支持

--enable-perlinterp:启用Vim对perl编写的插件的支持

--enable-multibyte:多字节支持 可以在Vim中输入中文

--enable-cscope:Vim对cscope支持

--enable-gui=gtk2:gtk2支持,也可以使用gnome,表示生成gvim

--with-python-config-dir=/usr/lib/python2.7/config-i386-linux-gnu/指定 python 路径

--prefix=/usr:编译安装路径

sudo make VIMRUNTIMEDIR=/usr/share/vim/vim74

sudo make install

4、安装YouCompleteMe
a、下载

git clone --recursive git://github.com/Valloric/YouCompleteMe

如果执行该命令没报错,就ok了. 但是中途有可能会断掉,可以 cd 到YouCompleteMe,然后反复用如下命令再次进行下载:

git submodule update --init --recursive

这个命令下载时间挺长的

b、 安装

cd ~/.vim/bundle/YouCompleteMe

./install.py --clang-completer

成功的log如下:

-- [download 99% complete]

-- [download 100% complete]

Using libclang to provide semantic completion for C/C++/ObjC

Using external libclang: /tmp/ycm_build.CKY92s/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.3.8

-- Found PythonInterp: /usr/bin/python2.7 (found version"2.7.11")

-- Looking for pthread.h

-- Looking for pthread.h - found

-- Looking for pthread_create

-- Looking for pthread_create - not found

-- Looking for pthread_create in pthreads

-- Looking for pthread_create in pthreads - not found

-- Looking for pthread_create in pthread

-- Looking for pthread_create in pthread - found

-- Found Threads: TRUE

-- Configuring done

-- Generating done

-- Build files have been written to: /tmp/ycm_build.CKY92s

Scanning dependencies of target BoostParts

[ 0%] Building CXX objectBoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_raw_buffer.cpp.o

[ 0%] Building CXX objectBoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_debug.cpp.o

[ 1%] Building CXX objectBoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/w32_regex_traits.cpp.o

[ 2%] Building CXX objectBoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/wide_posix_api.cpp.o

...

[100%] Building CXX objectycm/CMakeFiles/ycm_core.dir/CustomAssert.cpp.o

[100%] Linking CXX shared library/home/wuyt/mutils/debian_lenny_cfg/vim_cfg/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so

[100%] Built target ycm_core

c、配置

.vimrc中加入:

" YouCompleteMe

set runtimepath+=~/.vim/bundle/YouCompleteMe

let g:ycm_collect_identifiers_from_tags_files = 1 " 开启 YCM 基于标签引擎

let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全

let g:syntastic_ignore_files=[".*\.py$"]

let g:ycm_seed_identifiers_with_Syntax = 1 " 语法关键字补全

let g:ycm_complete_in_comments = 1

let g:ycm_confirm_extra_conf = 0

let g:ycm_key_list_select_completion = ['<c-n>','<Down>'] " 映射按键,没有这个会拦截掉tab,导致其他插件的tab不能用.

let g:ycm_key_list_prevIoUs_completion = ['<c-p>','<Up>']

let g:ycm_complete_in_comments = 1 " 在注释输入中也能补全

let g:ycm_complete_in_strings = 1 " 在字符串输入中也能补全

let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全

let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'

let g:ycm_show_diagnostics_ui = 0 " 禁用语法检查

inoremap <expr> <CR> pumvisible() ?"\<C-y>" : "\<CR>" | " 回车即选中当前项

nnoremap <c-j> :YcmCompleterGoToDeFinitionElseDeclaration<CR>|" 跳转到定义处

"let g:ycm_min_num_of_chars_for_completion=2 " 从第2个键入字符就开始罗列匹配项

其中~/.vim/bundle/YouCompleteMe 为下载 YouCompleteMeu 的路径.

六、安装NERDTree

wget http://www.vim.org/scripts/download_script.PHP?src_id=17123 -Onerdtree.zip

unzip nerdtree.zip

mkdir -p ~/.vim/{plugin,doc}

cp plugin/NERD_tree.vim ~/.vim/plugin/

cp doc/NERD_tree.txt ~/.vim/doc/

安装好后,命令行中输入vim,打开vim后,在vim中输入:NERDTree,你就可以看到NERDTree的效果了。

Ubuntu--C++补全代码的更多相关文章

  1. ios – 如果app bundle不包含推送通知中收到的“loc-key”的密钥怎么办?

    根据appledocumentation,通知有效载荷可以携带“loc-key”键,其识别appbundle中的本地化字符串键.如果应用程序包中没有这样的密钥会发生什么情况?

  2. ios – 强制本地化内部框架,如UIKit,无需重启App

    我必须在应用程序中添加一个切换语言的选项.我只是坚持本地化内部framworks.任何人都可以帮助我从应用程序本身的内部框架本地化,如UIKit等,而无需重新启动.我的代码工作正常,但对于内部框架的情况需要重新启动.只是内部框架没有得到本地化.我目前的代码是:创建一个名为BundleExtension.swift的文件,并将以下代码添加到其中–现在,无论何时需要更改语言,都可以调用此方法:解决方法

  3. ios – 如何在Xcode 7中自动化UI测试期间访问本地化字符串?

    所以我必须先转换它才能知道它在使用NSLocalizedString之前的原因:有没有简单的方法来解决Xcode中的这个问题?如果可能的话,我不想在我的代码中使用这些无意义的字符串,很难知道它是什么.或者我必须编写一个脚本来处理这个问题?

  4. ios – 无法启动iPhone模拟器

    /Library/Developer/CoreSimulator/Devices/530A44CB-5978-4926-9E91-E9DBD5BFB105/data/Containers/Bundle/Application/07612A5C-659D-4C04-ACD3-D211D2830E17/ProductName.app/ProductName然后,如果您在Xcode构建设置中选择标准体系结构并再次构建和运行,则会产生以下结果:dyld:lazysymbolbindingFailed:Symbol

  5. xcode – 打开模块的导入文件:权限被拒绝

    我在另一台计算机上设置了一个远程Git存储库和XcodeServer,然后在Xcode中创建了一个bot.每次我尝试进行新的集成时,都会失败并出现如下错误:如果我评论此文件中的所有内容,bot会开始为另一个框架(以及另一个.swift文件)显示相同的错误.它可以是Swift或Objective-C框架.此项目的搜索路径为:$(PROJECT_DIR),并且“始终搜索用户路径”设置为“是”我正在使用

  6. ios – 如何在不使用单独的捆绑包的情况下将我的资源文件包含在框架中?

    解决方法为什么不想为框架使用单独的bundle?

  7. ios – 如何向settings.bundle添加本地化?

    我的应用支持两种语言.当我添加一个设置包时,它只有英文版.在Xcode6.1中,我发现无法向Settings.bundle添加本地化.我错过了什么?解决方法不过我找到了一个有效的解决方1)打开Settings.bundle包2)创建新文件夹de.lproj3)将Root.strings从en.lproj-folder复制到de.lproj-folder4)现在您可以在Xcode中编辑新语言

  8. ios – 如何在Settings.bundle中的xCode中添加额外的积分,以便与InAppSettingsKit iPhone库一起使用?

    这可能是一个非常愚蠢的问题.但我正在努力:我正在尝试添加一个Root.inApp.plist文件到我的项目,以便我可以为我的iPhone应用程序具有特定的设置.我已经集成了InAppSettingsKit,它目前只使用一个Root.plist文件.我想添加一个Root.inApp.plist文件到我的项目,以便我可以具有特定的设置.当我尝试在Xcode中添加另一个属性文件时,它似乎不属于Settings.bundle,我该如何让它显示在我的Settings.bundle结构中呢?

  9. ios – 我可以隐藏/禁用Settings.bundle中的字段吗?

    我的Settings.bundle的Root.plist中有几个文本字段项.我需要所有的应用程序,但我希望其中一个被用户隐藏或不可编辑.例如.当用户将iPhone上的设备–>MyApp,我想要其中一个字段不可见,或禁止编辑.这可能吗?解决方法你当然可以.只需将项目类型更改为标题.你仍然可以从代码中保存和读取它的价值.但它不会出现在应用程序中.设置.

  10. macos – 运行brew命令充满了’同意Xcode / iOS许可证需要管理员权限,请通过sudo以root身份重新运行.’

    所以我跑了:如果滚动到底部,可以输入“同意”,然后就可以了.

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部