Dwukierunkowe udostępnianie schowka VirtualBox przestaje działać po pewnym czasie w systemie-gościu Linux

17

Udostępnianie schowka zaczyna działać poprawnie, ale po pewnym czasie przestaje działać (do momentu ponownego uruchomienia komputera).

Z tego, co rozumiem, dodatki dla gości przestają działać. Przeczytałem, że powinienem zobaczyć vboxadd-timesyndziałanie w moim systemie. Sprawdziłem ps -A | grep -i vboxi nie widzę tego. Wszystko, co dostaję to:

VBoxSerive
VBoxClient
VBoxClient
VBoxClient
VBoxClient

Jeśli to rzeczywiście stanowi problem, jak zrestartować usługę? Jeśli nie, na co jeszcze mógłbym spojrzeć?

Dotyczy to hosta Windows 7 i gościa Linux Ubuntu.

Amelio Vazquez-Reina
źródło

Odpowiedzi:

22

Linux one-liner:

pkill -f VBoxClient; VBoxClient - schowek


Skrypt Windows PowerShell.

echo "Trying to restart VBoxClient"

$vbox_process = Get-Process VBoxTray
Write-verbose $vbox_process
$procID = $vbox_process.id

if ($procID  -gt 0)
{    
    $cmdline = (Get-WMIObject Win32_Process -Filter "Handle=$procID").CommandLine
    Write-Verbose $cmdline

    Write-Verbose "Stopping VBoxTray"
    $vbox_process.Kill()
    $vbox_process.WaitForExit()
    Write-Verbose "VBoxTray stopped"

    Write-Verbose "Starting VBoxTray"
    Start-Process -FilePath $cmdline.Split(' ')[0]
    echo "VBoxTray Restarted. All Done"
} else {    
    Write-Warning 'Could not find existing vboxTray process. Launching direct?'
    Start-Process -FilePath "C:\Windows\System32\VBoxTray.exe"     
}

Uwaga: PowerShell nie jest tak naprawdę moją specjalizacją, więc spodziewam się tutaj edycji społeczności :)

Odczuwający
źródło
1
Warto zauważyć, że oba są dla gościa.
RichVel
Dziękuję, oba działają świetnie! Bani, że teraz jest 3 lata i ten błąd nadal istnieje.
Sarke
One-liner w Linuksie działał świetnie, pozytywnie oceniany. Nie próbowałem PowerShell.
peedee
7

Jak naprawić współdzielony schowek w VirtualBox

  1. W VirtualBox Windows Guest otwórz Menedżera zadań
  2. Przejdź do zakładki Procesy, podświetl VBoxTray.exe i wybierz Zakończ proces
  3. Przejdź do zakładki Aplikacje i wybierz Nowe zadanie
  4. Przejdź do folderu instalacyjnego VirtualBox Guest Additions, wybierz VBoxTray.exe i wybierz OK.

Schowek powinien potem działać.

użytkownik227392
źródło
Jak to działa? Opis pytania brzmi „gość Linux Ubuntu”. Czy masz na myśli hosta systemu Windows?
Sentient
Pytanie dotyczy gościa z systemem Linux, a VBoxTray.exe dotyczy tylko gościa z systemem Windows.
RichVel
5

Dowiedziałem się, że na gościach Linuksa (w moim przypadku Ubuntu) i hostach Windows 7 (myślę, że to nie ma znaczenia) wystarczy ponownie uruchomić następujący proces na maszynie gościa:

/ usr / bin / VBoxClient --clipboard

Znajdź PID procesu za pomocą ps i zabij go. Następnie uruchom ponownie powyższe polecenie, a schowek zacznie ponownie działać. Używam tego na przykład:

kill $ (ps aux | grep '/ usr / bin / VBoxClient --clipboard' | grep -v grep | awk '{print 2 USD})

/ usr / bin / VBoxClient --clipboard

dk
źródło
Dziękujemy za dostarczenie rozwiązania kopiuj / wklej! Haczyk: należy pobrać superuser.com/questions/536827 na maszynie gościa, aby móc go skopiować / wkleić!
starlocke
Odkryłem, że VBoxClientzostał zainstalowany /usr/sbinna Debianie 8 - może to nie być ścieżka dla użytkowników innych niż root.
RichVel
To killbardzo odważny sposób na powiedzenie pkill -f 'VBoxClient --clipboard'. Jeśli nie przejmujesz się innymi usługami, możesz po prostukillall VBoxClient
raylu
1

Spróbuj uruchomić, vboxadd-timesyn startaby ponownie uruchomić usługę.

Inną rzeczą, którą pamiętam, było czytanie udostępniania schowka z dwukierunkowego na hosta na gościa.

Tutaj możesz znaleźć stary bilet błędu, który wygląda podobnie do twojego problemu. To długa lektura, ale może się przydać kilka sugestii.

Wreszcie, jeśli nic nie rozwiązuje problemu, sugeruję, abyś sam otworzył raport o błędach w Bugtrackerze VirtualBox , ponieważ nie jesteś pierwszym, który ma problemy ze współdzielonym schowkiem.

użytkownik1301428
źródło
Dzięki! Ale gdy wpisuję vboxadd-timesyn startuzyskać: command not found. Jakieś sugestie?
Amelio Vazquez-Reina,
Dostępne są polecenia: VBoxClient, VBoxClient-all, VBoxControli VBoxService.
Amelio Vazquez-Reina,
1
Czy możesz spróbować uruchomić /etc/init.d/vboxadd-timesync start?
user1301428,
Jedyne polecenia do wykonania /etc/init.d/vboxaddto vboxadd, vboxadd-serviceivboxadd-x11
Amelio Vazquez-Reina
1
Trochę googlowałem i wygląda na to, że zmieniono nazwę tego polecenia vboxadd. Jeśli jest to prawda, możesz spróbować uruchomić /etc/init.d/vboxaddpodobne polecenia.
user1301428 15.01.2013
1

Miałem podobny problem: ale w moim przypadku proces / usr / bin / VBoxClient - schowek zamykał się wiele razy na sesję.

Aby sobie z tym poradzić, stworzyłem program bash:

#! /bin/bash

ps aux | grep '/usr/bin/VBoxClient --clipboard' | grep -v grep || /usr/bin/VBoxClient --clipboard

Po prostu uruchamiam go za każdym razem, gdy tracę umiejętność korzystania ze schowka.

Murval
źródło
Odkryłem, że problem był spowodowany nieprawidłową instalacją dodatków gości VirtualBox (brak zależności między nagłówkami jądra itp., Co spowodowało, że moduł jądra Virtualbox nie został zbudowany).
RichVel
1

Odkryłem, że problem był spowodowany nieprawidłową instalacją dodatków gości VirtualBox (brak zależności między nagłówkami jądra itp., Co spowodowało, że moduł jądra Virtualbox nie został zbudowany).

Spróbuj zainstalować dodatki gości ręcznie za pomocą wiersza polecenia i dokładnie przeczytaj błędy. Poniższe HOWTO zawiera szczegółowe instrukcje.

Jedna wskazówka to sprawdzenie danych wyjściowych sudo lsmod | grep vbox, które pokazują moduły jądra dla Virtualbox - początkowo było puste. Oto wynik po naprawie:

$ sudo lsmod | grep vbox
vboxsf                 40674  0 
vboxvideo              12405  1 
drm                   203590  3 vboxvideo
vboxguest             173675  6 vboxsf

Po zakończeniu modułów jądra musiałem tylko uruchomić /usr/sbin/VBoxClient --clipboard(na Debianie 8 jessie) i schowek zaczął działać. Wersja Virtualbox to 4.3.30.

Polecenia, które uruchomiłem dla tej konfiguracji (twoje mogą się różnić) to:

aptitude install dkms build-essential linux-headers-generic
aptitude install linux-headers-3.16.0-4-586     # See HOWTO, match running kernel
cd /media/cdrom0
sh ./VBoxLinuxAdditions.run 
less /var/log/vboxadd-install.log     # If you get errors

Systematyczny sposób, aby rozwiązać ten problem (i prawdopodobnie innych) jest przejść przez HOWTO Dodatków dla systemu Linux . Nazwa skryptu instalacyjnego zmieniła się od 2009 roku, ale HOWTO jest nadal bardzo pomocne i daje polecenia dla dystrybucji w stylu Debian / Ubuntu i RHEL / CentOS.

RichVel
źródło
0

Problem może być spowodowany nieprawidłowym uruchamianiem dodatków VirtualBox. Wypróbuj to polecenie w systemie-gościu:

sudo /etc/init.d/vboxadd start
Jones
źródło
Co to polecenie faktycznie dla ciebie robi? Gdzie wpisałbyś to, host Windows lub gość Linux?
Andrew Lott,
@AndrewLott Jest to oczywiście polecenie systemu Linux ( sudoi init.dskrypty). Ale nadal byłoby trochę więcej wyjaśnienia, co to będzie.
slhck
Ty i ja możemy powiedzieć, że jest to polecenie Linuksa, ale myślę o innych gościach, którzy mogą nie być tak pewni.
Andrew Lott,
0

To działało dla mnie ..

Jestem na Linuksie miętowym 17.1 xfce. Oficjalny pakiet dystrybucyjny obsługuje wersję 4.3.18. Byłem na .22 i miałem wiele osobnych problemów, więc obniżyłem wersję do .18. Następnie po uruchomieniu uruchomiłem iso Urządzenia -> Wstaw dodatki dla gości i uruchomiłem instalator .run jako root. Pomimo ostrzeżenia o wykryciu wersji instalacyjnej pakietu, zezwoliłem mu na zastąpienie. Bingo nigdy więcej problemów z siecią i schowkiem. Myślę, że kluczową rzeczą, przynajmniej dla mojej dystrybucji, jest odtworzenie oficjalnego pakietu, ale skorzystaj z ISO dostarczonego z klientem.

-Steve

Steve
źródło