天天看點

wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼

一直想要試試linux系統下,到底是怎麼進行操作的,感覺那些指令行操作一直很酷,但是苦于麻煩,也沒有閑置的電腦,就沒
有用過linux。最近發下win下自動內建了一個簡單的linux系統,感覺給我這樣的新手試試水蠻好的。
           

WSL的安裝和使用

WSL的安裝

  • 第一步是要打開windows系統上關于linux的設定,具體路徑:控制台->程式和功能->啟用或關閉Windows功能->勾選 适用于Linux的windows子系統。
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
    或者也可以打開win+x,以管理者權限運作powershell,運作

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

    指令
  • 重新開機電腦,確定我們的設定已經生效。
  • 打開Microsoft Store,搜尋WSL,選擇一個Linux系統進行安裝就好,我選擇的是
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
    這個大概200多M吧,下載下傳起來還挺快的。
  • 安裝完成之後,可以點選圖示運作
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
    運作完成,剛開始會進行初始化,可能需要等待2~3分鐘,然後安裝完成之後會提示輸入使用者名以及密碼。注意,這個密碼不是用來登入的密碼,當你要以
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
    權限運作一些指令的時候,會要求輸入這個密碼,是以請記住。這裡我們建立的使用者就是一個一般的使用者,之後我為了調整安裝程式,又更改了
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
    賬戶的密碼。
  • 安裝完成之後就可以用了

WSL的使用

apt安裝源的更改

linux下安裝軟體是從一些網站中直接提取安裝包,然後打開。國外的網站不挂代理的話通路速度感人,國内有一些做的很優秀的鏡像網站,源網站改成這些鏡像網站可以提升下載下傳速度。
  1. ubuntu下下載下傳東西常用的指令是

    apt install packagename

    ,後面的

    packagename

    就是我們要安裝的東西,是以我主要更 換的就是

    apt

    的安裝源。這裡我們要修改的是

    sources.list

    檔案,首先要備份一下
    sudo cp /ect/apt/sources.list /etc/apt/sources.list.bak
               
    需要注意的就是我們預設進入的

    Ubuntu

    是一個普通使用者,是以要加上

    sudo

    以超級使用者權限執行這個指令,這裡應該會要求你輸入密碼,注意這個密碼就是最開始讓你設定的那個密碼,而且

    linux

    中的密碼是不回顯的,而且不能通過

    backspace

    進行删除,輸錯了隻能重輸。
  2. 備份完了之後就是對

    source.list

    進行更改了。我下載下傳的

    ubuntu 18.04 LTS

    自帶了

    vim

    ,如果你的不帶

    vim

    的話,需要運作

    sudo apt-get install vim

    進行安裝(基本上每次使用sudo這個指令,都要輸入密碼,這也是為什麼我最後選擇進入root賬戶進行修改,太麻煩遼).
    • 這裡提一嘴哈,

      vim

      是一個文本編輯器,基本上相當于win下比較進階的記事本,使用過程中完全不用滑鼠。基本上就是通過鍵盤進行操作。 當你運作了

      vim

      之後,就進入了檔案中,注意,你此時并不是在編輯的環境,而是處于一個要輸入指令的過程,常見的指令:

      q

      :退出;

      q!

      強制退出,放棄修改;

      wq

      :将目前修改寫入檔案中,并退出。然後輸入指令之前,要按一下

      :

      ,注意是英文。 進入編輯界面,按一下

      i

      ,就是

      insert

      模式,也就是編輯模式,上下左右移動光标,正常輸入即可。 按

      esc

      退出編輯模式,進入指令模式。
    輸入
    sudo vim /etc/apt/sources.list
               
    然後就進入了檔案頁面,将原檔案裡面原來的内容全部注釋掉(在原來的每一行前面加

    #

    ),然後添加下面的内容。
    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
               
    然後修改源檔案後記得寫入退出,也就是

    wq

    指令。 這裡使用的是阿裡的鏡像網站,還有其他的幾個鏡像網站可以選擇,注意,隻用選一個就可以了。 中科大
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
               
    清華
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
               
    網易
    deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
               
  3. 修改好了

    source.list

    之後,就要更新軟體清單和軟體源
    sudo apt-get update
    sudo apt-get upgrade
               

中文顯示的更改

  • 首先運作

    echo $LANG

    檢視目前你的語言環境
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
    我這裡已經調整好了,是以顯示的是

    zh_CN.UTF-8

    ,如果你顯示的前面不是

    zh_CN

    ,基本上就說明不是中文環境。 更詳細的環境可以通過輸入

    locale

    進行檢視
    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
  • 這裡我說的中文安裝包都是指的簡體中文哈,因為我自己看簡中,另一個也沒查。 輸入下列代碼安裝中文語言包
    sudo apt-get install language-pack-zh-han*
               
    然後就會開始下載下傳,更換了

    apt

    安裝源之後,還是蠻快的。
  • 下載下傳完成之後,再運作下列代碼運作語言支援
    sudo apt install $(check-language-support)
               
  • 接着再修改一下配置檔案就好 先進入配置檔案
    vim /etc/default/locale
               
    然後把其中的内容改成如下内容,原來的内容加

    #

    注釋掉就好
    LANGUAGE="zh_CN:zh"
    LC_NUMERIC="zh_CN"
    LC_TIME="zh_CN"
    LC_MONETARY="zh_CN"
    LC_PAPER="zh_CN"
    LC_NAME="zh_CN"
    LC_ADDRESS="zh_CN"
    LC_TELEPHONE="zh_CN"
    LC_MEASUREMENT="zh_CN"
    LC_IDENTIFICATION="zh_CN"
    LC_ALL="zh_CN.UTF-8"
               
  • 再修改環境檔案
    vim /etc/environment 
               
    這裡強調的是不要更改原來的内容,後果我也不知道是啥QAQ,在原内容下面新開一行加入下面的内容
    LANGUAGE="zh_CN:zh"
    LC_NUMERIC="zh_CN"
    LC_TIME="zh_CN"
    LC_MONETARY="zh_CN"
    LC_PAPER="zh_CN"
    LC_NAME="zh_CN"
    LC_ADDRESS="zh_CN"
    LC_TELEPHONE="zh_CN"
    LC_MEASUREMENT="zh_CN"
    LC_IDENTIFICATION="zh_CN"
    LC_ALL="zh_CN.UTF-8"
               
  • 最後重新開機一下系統就可以了
    reboot
               

關于

linux

下的中文顯示

這部分是最折騰我的,要了解linux下為什麼我們的cpp檔案裡面的中文沒有辦法顯示,就要首先了解一點檔案編碼方式。

檔案編碼方式的不同

  • 在中文的win作業系統下,通常來說含有中文字元的文檔都是以

    GBK

    格式進行編碼的,用記事本打開的話,顯示的就是

    ANSI

    wsl使用者帳戶沒有必要的權限_第一次使用WSL我做了什麼
  • linux

    下,系統認得檔案格式是

    utf-8

    格式

這兩個格式對于英文字元沒有太大的差別,對于中文字元,在

GBK

格式中,一個字元占2個位元組;但是在

utf-8

格式中,一個字元占3個位元組,是以導緻了中文顯示亂碼。

如何正常檢視中文檔案

  • 如果為了能夠在linux下進行顯示和編譯,最友善的方法就是将你的檔案轉化為

    utf-8

    格式,用記事本打開檔案,點選另存為,把

    ANSI

    換成

    utf-8

    就好了
  • 如果隻是打開中文檔案檢視不亂碼,可以通過對

    vim

    的一些設定做到,設定步驟如下:
    1. 打開檔案
    sudo vim /var/lib/locales/supported.d/local
               
    1. 原有内容不變,添加下列内容
      zh_CN.GBK GBK
      zh_CN.GB2312 GB2312
      zh_CN.GB18030 GB18030
                 
    2. 執行指令,使配置生效
      sudo dpkg-reconfigure locales
                 
      這裡運作完這個指令之後,會進入一個圖形界面,然後第一個就選擇所有區域,第二個選擇

      zh_CN.UTF-8

      就可以了(選擇其他的中文環境,比如說

      zh_CN.GBK

      zh_CN.GB2312

      ,會導緻

      linux

      下中文顯示亂碼,我沒弄懂什麼原因,有大佬可以提點一下嘛)
    3. 打開檔案
      sudo vim /etc/vim/vimrc
                 
    4. 不用更改原檔案内容,在檔案末尾添加
      set fileencodings=utf-8,gbk,utf-16le,cp1252,iso-8859-15,ucs-bom
      set termencoding=utf-8
      set encoding=utf-8
                 
    在然後用

    vim

    打開的中文檔案,裡面的中文字元就可以正常顯示,不管是

    GBK

    格式還是

    utf-8

    格式

配置結束

作為萌新,我也就做了這些,就夠我正常上課使用了,但是我在使用過程中遇到了一個問題,不知道怎麼解決。

c++進行格式化輸出的時候,我用的是

cout << setw(20) << "測試用例"

進行排版的控制 但是由于utf-8中,一個中文等于3個位元組,那麼就是說

utf-8

格式中,我的"測試用例"占12個位元組,系統就會輸出8個空格作為格式補齊,但是由于在螢幕上一個中文寬度約等于兩個英文字元的寬度(也就是兩個空格),是以就導緻我的螢幕寬度隻占到了16個英文字元寬度 而我的

cout<< setw(20)

本來是想要螢幕寬度為20個英文字元,這該怎麼解決呢,或者說用解決嗎?