ডেস্কটপ এনভায়রনমেন্ট সহ ভার্চুয়াল মেশিন চালানোর জন্য ভ্যাগ্র্যান্ট ব্যবহার করা


148

আমার সংস্থার বিকাশের পরিবেশ ভার্চুয়ালবক্সে চলমান ভার্চুয়াল মেশিনের উপর ভিত্তি করে। আমরা আরও এক ধাপ এগিয়ে যেতে চাই এবং পাঠ্য ফাইলে মেশিনের বর্ণনা পেতে ভ্যাগ্র্যান্টের ক্ষমতাগুলি ব্যবহার করতে পারি এবং তারপরে সেই পাঠ্য ফাইলের ভিত্তিতে সেই মেশিনটিকে "উত্থাপন" করতে সক্ষম হতে পারি। পুতুলের সাথে সংযুক্ত, এটি আমাদের সমস্যার সমাধান করবে যে প্রত্যেকের ভিএম-তে বিভিন্ন সফ্টওয়্যার সংস্করণ ইনস্টল রয়েছে।

যাইহোক, ভ্যাগ্র্যান্ট হোস্টটির বিকাশে খুব মনোযোগী বলে মনে হচ্ছে, মেশিনটিকে ব্যাকগ্রাউন্ডে রেখে। আমাদের মেশিনের মধ্যে আমাদের বিকাশের পরিবেশ থাকা দরকার, সুতরাং আমাদের একটি সম্পূর্ণ জিইউআই প্রয়োজন, সুতরাং একটি সম্পূর্ণ ডেস্কটপ এনভায়রনমেন্ট (এক্সএফসিই, কে। ডি। ...) সহ একটি মেশিন "ভ্যাগ্র্যান্ট আপ" টাইপ করার সময় উপস্থিত হওয়া উচিত।

এখনও অবধি, আমি একটি জুবুন্টু বিতরণ থেকে একটি "বেস" বক্স তৈরি করতে সক্ষম হয়েছি। তবে আমি যখন "ভ্যাগ্র্যান্ট আপ" টাইপ করি, যদিও ডেস্কটপটি উপস্থিত হয় এবং আমি সঠিকভাবে লগইন করতে সক্ষম হয়েছি, ভ্যাগ্র্যান্ট "মেশিনটি বুট করার জন্য অপেক্ষা করছে" বার্তায় হিমশীতল হয়ে পড়েছে ... এতে কয়েক মিনিট সময় লাগতে পারে ... "। কিছুক্ষণ পরে ভ্যাগ্র্যান্টের সময়সীমা শেষ হওয়ার পরে ক্র্যাশ হয়ে যায়। সুতরাং ভাগ করা ফোল্ডার তৈরি করা হয় না, বা প্যাকেজ প্রভিজার -পুপেট- কার্যকর করা হয় না।

ভিজেন্ট ব্যবহার করে সম্পূর্ণ জিইউআই সহ ভার্চুয়াল মেশিন কীভাবে তৈরি করবেন?


1
এই বাক্সগুলি ব্যবহার করার ক্ষেত্রে আমার কখনও সমস্যা হয়নি । আপনি যখন আপনার বেস বাক্সটি প্যাকেজ করেছেন তখন হয়ত কিছু ভুল হয়েছে।
বিফিজপ্যাট্রিক

1
নিষ্পাপ দৃষ্টিকোণ থেকে, আপনি যদি হোস্টের উপর বিকাশ করতে পারেন এবং ভিএম-তে নয় তবে কেন আপনি ভ্যাগ্র্যান্ট ভিএম-তে জিইউআই ক্যাপাবিলিটিগুলি ইনস্টল করতে বিরক্ত করছেন? হোস্টে বিকাশ হয় না কেন?
আলেকজান্ডার মিলস

যখন ভিএম / ভ্যাগ্রেন্ট স্পেসিফিকেশনগুলি বিকাশকারী দলের দ্বারা তাদের অ্যাপ্লিকেশনের টার্গেট পরিবেশের সাথে সুসংগত হওয়ার জন্য বজায় রাখা হয় তখন ভিএম তে বিকাশনের ফলে খুব কম সমস্যার সমাধান হতে পারে। আপনি কম ক্রাইপিং নির্ভরতা এবং আচরণ পাবেন যা আপনার দেবের কাছে অনন্য। লক্ষ্য পরিবেশ / ইনস্টলেশনে উপস্থিত না থাকাকালীন পরিবেশ (বা অভিন্ন নয়)।
জিম ডেনিস

আসলে আপনার উপসংহারটি সম্পূর্ণ সঠিক নয়। জাগ্রত বাক্সের বাইরে দেব পরিবেশ থাকার কথা নয়। লিনাক্সের অনেক লোক টার্মিনালে বিকাশ করে। এবং আপনি কেবল এসএসই-তে কেবল ভিজাগর বাক্সের সাহায্যে এটি সূক্ষ্ম করতে পারেন।
এরিকবওয়ার্ক

উত্তর:


150

আমি এই কাজটি মূলত তিনটি ধাপে পেয়েছি। পরামর্শটি askubuntu.comআমার পক্ষে বেশ কার্যকর হয়নি, সুতরাং এই সরলীকৃত সংস্করণটি ব্যবহার করে দেখুন:

  1. কাজ করে একটি বেসিক উবুন্টু চিত্র পান। আপনার এটি বুট করতে সক্ষম হওয়া উচিত এবং vagrant ssh
  2. এরপরে, ভার্চুয়ালবক্স প্রদর্শন সক্ষম করুন যা ডিফল্টরূপে বন্ধ। ভিএম থামিয়ে দিন এবং এই লাইনগুলিকে কোনও অসুবিধে করুন Vagrantfile:
    config.vm.provider: ভার্চুয়ালবক্স do | vb |
      vb.gui = সত্য
    শেষ
  3. ভিএম বুট করুন এবং নতুন ডিসপ্লে উইন্ডোটি পর্যবেক্ষণ করুন। এখন আপনার কেবল ইনস্টল এবং শুরু করা দরকার xfce4। ব্যবহার করুন vagrant sshএবং:
    sudo apt-get ইনস্টল xfce4
    sudo startxfce4 &
    

আপনি যদি এই উবুন্টু পরিবেশটি প্রথম চালাচ্ছেন তবে xfce4 ইনস্টল করার আগে আপনাকে নিম্নলিখিত কমান্ডটি চালনা করতে হবে:

sudo অ্যাপ্লিকেশন - আপডেট

এটাই, আপনার একটি xfce4অধিবেশন অবতরণ করা উচিত ।

আপডেট: আরও ভাল অভিজ্ঞতার জন্য, আমি এই উন্নতিগুলির প্রস্তাব করছি:

  1. রুট হিসাবে জিইউআই শুরু করবেন না। আপনি সত্যিই vagrantব্যবহারকারী থাকতে চান । এটি করার জন্য আপনাকে কাউকে GUI শুরু করার অনুমতি দিতে sudo vim /etc/X11/Xwrapper.configহবে : এবং এটিকে সম্পাদনা করতে হবে allowed_users=anybody
  2. এরপরে, জিইউআই শুরু করার আগে ভার্চুয়ালবক্স অতিথি সরঞ্জামগুলি ইনস্টল করুন । এটি আপনাকে স্বাস্থ্যকর স্ক্রিন রেজোলিউশন, ইন্টিগ্রেটেড মাউস ইত্যাদি দেবে
    do sudo apt-get ইনস্টল -y xfce4 ভার্চুয়ালবক্স-গেস্ট-dkms ভার্চুয়ালবক্স-অতিথি-ব্যবহারগুলি ভার্চুয়ালবক্স-গেস্ট-এক্স 11
    do sudo VBoxClient-all
  3. কেবলমাত্র এখন আপনার vagrantব্যবহারকারী হিসাবে জিইউআই শুরু করা উচিত $ startxfce4&

আপডেট 2: আজ এটি ব্যবহার করে দেখুন এবং VBoxClient-allস্ক্রিপ্টটি সর্বদা ইনস্টল হয় না। যদি এটি অনুপস্থিত থাকে তবে আপনি সমমানের সাথে প্রতিস্থাপন করতে পারেন:

sudo VBoxClient - ক্লিপবোর্ড
sudo VBoxClient --গ্রাডড্রপ
sudo VBoxClient - ডিসপ্লে
sudo VBoxClient --checkhostversion
sudo VBoxClient - বিরামবিহীন

2
খালি ফেলে বলতে চেয়েছিলাম যে ফেডোরা ১৯ টি ভিজেন্ট বক্সে xfce পাওয়ার জন্য প্রায় 5 ঘন্টা চেষ্টা করার পরে সমাধানটি ভার্চুয়ালবক্স গেস্ট প্যাকেজ ইনস্টল করা হয়েছিল (yum ভার্চুয়ালবক্স-গেস্ট.এক্স 86_64)। এই প্যাকেজটি ছাড়া, xorg কোনও কারণে আমার হোস্ট মেশিন মনিটরে অ্যাক্সেস পেতে পারে না। তাই ... থ্যাঙ্কস ম্যান!
বিলমালার্কি

আমি এটি চেষ্টা করার সময় আবিষ্কার করেছিলাম যে ধাপ 3 কোডটি Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| ... doneভ্যাগ্রান্টফাইলের পদ্ধতির মধ্যে থাকা দরকার।
নিওন্টাপির

1
আপনার ভ্যাগ্রান্টফাইলে নিম্নলিখিতটি অন্তর্ভুক্ত করে আপনি ভিজান্ট থেকে এক্স উইন্ডো ইত্যাদির ব্যবস্থা করতে পারেন: # প্রভিশন এক্স উইন্ডোজ, ভার্চুয়ালবক্স অতিথি, কার্ল এবং অন্যান্য অ্যাপ্লিকেশন প্যাকেজগুলি কনফিগারেশন.ভিএম.প্রভিশন: শেল,: ইনলাইন => "সুডো অ্যাপট-get ইনস্টল -y কার্ল xfce4 ভার্চুয়ালবক্স-গেস্ট-ডিকেএম ভার্চুয়ালবক্স-গেস্ট-ইউটিস ভার্চুয়ালবক্স-গেস্ট-এক্স 11 "কনফিগারেশন: ইনলাইন =>" সুডো ভিবক্সক্লায়েন্ট-অল "</ কোড>
ফারুক নাজমি

2
উবুন্টু ১.0.০৪
এয়ার

1
দেখে মনে হচ্ছে startxfce4ইনস্টল করার পরে উবুন্টু 16.04 (জেনিয়াল) এ নন-রুট হিসাবে চালানো যেতে পারেxserver-xorg-legacy
লরেন্স বিলিংহাম

74

এ আকারে এয়ারের চমৎকার উত্তর এখানে Vagrantfile

Vagrant.configure(2) do |config|
  # Ubuntu 15.10
  config.vm.box = "ubuntu/wily64"

  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = true
  end

  # Install xfce and virtualbox additions
  config.vm.provision "shell", inline: "sudo apt-get update"
  config.vm.provision "shell", inline: "sudo apt-get install -y xfce4 virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11"
  # Permit anyone to start the GUI
  config.vm.provision "shell", inline: "sudo sed -i 's/allowed_users=.*$/allowed_users=anybody/' /etc/X11/Xwrapper.config"
end

ভিএম শুরু করতে

vagrant up

ভার্চুয়ালবক্স জিইউআই-তে লগইন প্রম্পটের মাধ্যমে : ব্যবহারকারীর নাম: vagrantপাসওয়ার্ড সহ vagrantলগইন করুন।

এক্সএফসি শুরু করুন

startx

এটি আমার জন্য দুটি ছোট সামঞ্জস্য নিয়ে কাজ করেছে। "উবুন্টু / ভিভিড "৪" বাক্সটি সন্ধান করার আগে প্রথমে আমি একটি ৪৪৪ পেয়েছি, তাই আমি এটিকে "ল্যারিলি / ভিভিড "৪" হিসাবে পরিবর্তন করেছি যা আমি ভ্যাংগ্রাথ ক্লাউডে পেয়েছি। দ্বিতীয়ত প্রক্সি সেটিংস পরিচালনা করতে আমাকে ভিগার-প্রক্সিকনফ প্লাগইন ইনস্টল করতে হয়েছিল।
ড্যানিয়েল ওয়াটারস

2
এটি চিৎকার করে -> স্টার্টেক্স বর্তমানে ইনস্টল করা নেই ??

1
আমার খারাপ, ইন্টারনেটটি ডাউনলোড করতে ভার্চুয়ালবক্সে কনফিগার করা হয়নি xfce4। এটি এখন কাজ করে তবে লগইনটি এড়িয়ে যাওয়ার জন্য এবং xfce4ডিফল্টরূপে শুরু করার কোনও উপায় আছে ?

@ প্রয়াগআপ্ড কিছুটা পুরানো, তবে আপনি কী "ইন্টারনেট ডাউনলোড করতে ভার্চুয়ালবক্সে কনফিগার করা হয়নি xfce4?" vagrant ssh
স্টার্টেক্সের

1
আমার কিছুটা সমস্যা হচ্ছে, যেখানে আমার ভার্চুয়াল বাক্সটি "স্টার্টেক্স: কমান্ডটি পাওয়া যায় নি" বলে। কেউ আমাকে এটি সনাক্ত করতে সহায়তা করতে পারে?
ওওপ্রোগ

11

আমার 2 সেন্ট

  • বাগগুলি এড়ানোর জন্য আপনি সর্বশেষতম যোগ্রান (এখনই 1.3.3) + ভার্চুয়ালবক্স (4.2.18) চালাচ্ছেন তা নিশ্চিত করুন।

  • আপনি ডেস্কটপ পরিবেশ বা হালকা ওজন উইন্ডো ম্যানেজার ইনস্টল করতে শেল স্ক্রিপ্ট বা ইনলাইন কমান্ড ব্যবহার করতে পারেন

    উদাহরণস্বরূপ, উবুন্টু 12.04 এর শীর্ষে এলএক্সডিইডি ইনস্টল করুন ভ্যাগ্র্যান্টবক্স.ইস থেকে নির্ভুল বেস বাক্স

Vagrant.configure("2") do |config|
  # ... other configuration

  config.vm.provision "shell" do |s|
    s.inline = "apt-get install lubuntu-desktop -y"
  end
end
  • যদি আপনি নিজের যান্ত্রিক বেস বাক্সগুলি তৈরি করেন তবে নিশ্চিত করুন যে আপনি বেস বাক্স প্যাকেজিংয়ের নির্দেশাবলী অনুসরণ করেছেন বা বিল্ডটি স্বয়ংক্রিয় করতে প্যাকার (বা ভ্যুই) এর মতো সরঞ্জামগুলি বিবেচনা করছেন।

9

এখানে সামান্য উবুন্টু 18.04 এর জন্য Vagrantfile অভিযোজিত হয় LTS / বায়োনিক - ধন্যবাদ এয়ার 's এবং Nik এর উত্তর, এবং এই পোস্টে ব্যাখ্যা যখন VirtualBox (ডিফল্ট = 10 গিগাবাইট) ব্যবহার করে কিভাবে ডিস্ক আকার বৃদ্ধি করা সম্ভব।

ভিএম একটি লাইটডিএম লগইন স্ক্রিন অন্তর্ভুক্ত।

আপডেট: আমি এই উদাহরণ থেকে একটি গিটহাব রেপো তৈরি করেছি এবং সম্মুখভাগ + ব্যাকএন্ড বিকাশের জন্য অনেকগুলি সফ্টওয়্যার প্যাকেজ যুক্ত করেছি।

# Optional - enlarge disk:
#vagrant plugin install vagrant-disksize
vagrant up
vagrant reload
# After reboot, the VM screen should show the LightDM login screen.
# Log in as user "vagrant", password "vagrant".
Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/bionic64"
  # Optional - enlarge disk (will also convert the format from VMDK to VDI):
  #config.disksize.size = "50GB"

  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = true
  end

  # /ubuntu/1067929/on-18-04-package-virtualbox-guest-utils-does-not-exist
  config.vm.provision "shell", inline: "sudo apt-add-repository multiverse && sudo apt-get update"

  # Install xfce and virtualbox additions.
  # (Not sure if these packages could be helpful as well: virtualbox-guest-utils-hwe virtualbox-guest-x11-hwe)
  config.vm.provision "shell", inline: "sudo apt-get install -y xfce4 virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11"
  # Permit anyone to start the GUI
  config.vm.provision "shell", inline: "sudo sed -i 's/allowed_users=.*$/allowed_users=anybody/' /etc/X11/Xwrapper.config"

  # Optional: Use LightDM login screen (-> not required to run "startx")
  config.vm.provision "shell", inline: "sudo apt-get install -y lightdm lightdm-gtk-greeter"
  # Optional: Install a more feature-rich applications menu
  config.vm.provision "shell", inline: "sudo apt-get install -y xfce4-whiskermenu-plugin"
end

উবুন্টু 16.04 এ XWrapper.config ফাইলের উপস্থিতি / ব্যবহারের জন্য আমাকে xserver-xorg-विरासत ইনস্টল করতে হয়েছিল।
এমজেডবি

আরও পরীক্ষার পরামর্শ দেয় যে সংযুক্ত গিথুব রেপোতে মন্তব্য অনুযায়ী সেড লাইনের প্রয়োজন হবে না।
এমজেডবি

@ mh8020 গিথুব রেপো তৈরির জন্য ধন্যবাদ। খুব পরিষ্কার এবং অনুসরণ করা সহজ, আমার যা প্রয়োজন তা ঠিক। কেবল একটি ইস্যু: আমি অতিথি উবুন্টু সিস্টেমে কাজ করার জন্য শব্দ পেতে পারি না! আপনার বর্তমান সেটআপে এটি সক্ষম করতে পারে এমন কোনও ধারণা?
টিমওয়্যাগনার

7

আমি উবুন্টু ডেস্কটপ চিত্র ব্যবহার করছি, এটি ভার্চুয়াল বক্স সরবরাহকারীর সাথে উইন্ডোতে দুটি মনিটরের সাথে দুর্দান্তভাবে কাজ করে।

Vagrant.configure(2) do |config|
  config.vm.box = "box-cutter/ubuntu1404-desktop"

  config.ssh.forward_agent = true

  config.vm.network "forwarded_port", guest: 8080, host: 8080
  config.vm.network "forwarded_port", guest: 3000, host: 3000


  config.vm.synced_folder "../../git", "/home/vagrant/git"

  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
    vb.customize ["modifyvm", :id, "--monitorcount", "2"]
    vb.memory = "2048"
  end
end

3
vb.customize ["modifyvm", :id, '--audio', 'dsound', '--audiocontroller', 'ac97']
ভিএম

বাক্স-কর্তনকারী আর পূর্বের নির্মিত চিত্রগুলি সরবরাহ করবেন না।
ক্রক 5

5

বিকাশকারীদের ব্যবহারের জন্য ভার্চুয়ালবক্স চিত্র তৈরি করতে আপনি প্যাকার ব্যবহারের বিষয়টি বিবেচনা করতে পারেন।

বিকাশকারীরা তাদের ভিএম তৈরি করতে এবং চালাতে প্রতিটি ব্যবহার করে এমন ভ্যাগ্রান্টফাইলে ভাগ করে নেওয়ার পরিবর্তে আপনার কাছে একটি প্যাকার টেম্পলেট (জসন) থাকবে যা একটি ভিএম চিত্র তৈরি করতে ব্যবহৃত হয়। বিকাশকারীরা চিত্রটি ডাউনলোড বা অনুলিপি করে এবং এটিকে স্থানীয়ভাবে সরাসরি ভিবিতে চালায়, নিজেরাই এটি তৈরি না করে।

অনেকগুলি প্রকাশ্যে ভাগ করা ভ্যাগ্র্যান্ট বেস বাক্স প্যাকার দিয়ে তৈরি করা হয়।


2

/ubuntu/300799/does-ubuntu-12-04-lts-32-bit-have-graphic-user-interface/300805#300805

ডেস্কটপ ইনস্টল করার পরে, আপনি জিডিএম ইনস্টল করতে চান যা আপনাকে গ্রাফিকাল পরিবেশে সরাসরি বুট করতে দেয়। আপনি এটি কনফিগার করতে চাইবেন।

সুতরাং সম্ভবত এটি যোগ করুন?

Vagrant::Config.run do |config|
    config.vm.provision :shell, :inline => "sudo apt-get install gdm"
    config.vm.provision :shell, :inline => "sudo dpkg-reconfigure gdm"
end

1
... বা আরও হালকা এক্সডিএম
geekQ

1

এইচটিটিপি 404 এড়াতে আমি নিকের উত্তরটি কিছুটা প্যাচ করেছি:

Vagrant.configure(2) do |config|
  # Ubuntu 15.10
  config.vm.box = "bento/ubuntu-18.04"

  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = true
  end

  # Install xfce and virtualbox additions
  config.vm.provision "shell", inline: "sudo apt-get update"
  config.vm.provision "shell", inline: "sudo apt-get install -y xfce4 virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11"
  # Permit anyone to start the GUI
  config.vm.provision "shell", inline: "sudo sed -i 's/allowed_users=.*$/allowed_users=anybody/' /etc/X11/Xwrapper.config"
end

0

উপরে বিলেমার্কির মন্তব্যে যুক্ত করা, ফেডোরা ২০-এ এক্সএফসি শুরু করার আগে নিম্নলিখিতটি প্রয়োজনীয় ছিল:

  • ভার্চুয়ালবক্স-গেস্ট.আরপিএম ইনস্টল করুন (আরপিএমফিউশন রিপো থেকে উপলব্ধ)
  • ইয়াম গ্রুপগুলি ইনস্টল করে 'গ্রাফিকাল_ইনোমায়ারশন'
  • ইয়াম গ্রুপিনস্টল "এক্সএফসি"
  • yum xorg-x11-ড্রাইভার ইনস্টল করুন

কোডটি এখানে:

config.vm.provision "shell", inline: <<-SHELL        
    #Install Virtual Box guest additions from rpmfusion repos
    cd /vagrant
    yum install -y rpmfusion-free-release-20.noarch.rpm 
    yum install -y rpmfusion-nonfree-release-20.noarch.rpm
    yum update -y
    yum install -y VirtualBox-guest

    #Add XFCE desktop to fedora server
    yum groups mark install 'graphical_environment'
    yum groupinstall -y "Xfce"
    yum install -y xorg-x11-drivers   
SHELL

0

xfce4@ আয়ারের মাধ্যমে সমাধানটি পছন্দ করুন । একবার আমার সাফল্য ছিল, তবে আজ আমি উবুন্টু 16.04 দিয়ে ব্যর্থ হয়েছি। আমি এই ত্রুটি পেয়েছি:

xrdb can't open display 1

তবে ভাগ্যক্রমে, আমি এই কাজগুলি পেয়েছি:

startx

0

আমি দেখছি "স্টার্টেক্স: কমান্ড পাওয়া যায়নি" নিয়ে কয়েকটি লোকের সমস্যা হচ্ছে having আমারও এটি ছিল এবং এটি কারণ প্রথমবারের বিধান শেষ হওয়ার আগে আমি লগইন এবং স্টার্টেক্স চেষ্টা করছিলাম। ধৈর্য ধরুন, একটি কফি ধরুন। মূলত কনসোল উইন্ডোটি দেখুন যা ঘটছে তা বিশেষ করে যখন প্রভিশন শেষ হয় Check

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.