La condivisione degli appunti bidirezionali di VirtualBox smette di funzionare dopo qualche tempo su un SO guest Linux


17

La condivisione degli appunti inizia a funzionare correttamente, ma smette di funzionare dopo un po 'di tempo (fino al riavvio del computer).

Da quello che capisco a volte le aggiunte degli ospiti smettono di funzionare. Ho letto che dovrei vedere in vboxadd-timesynesecuzione sul mio sistema. Ho controllato ps -A | grep -i vboxe non lo vedo. Tutto quello che ottengo è:

VBoxSerive
VBoxClient
VBoxClient
VBoxClient
VBoxClient

Se questo è davvero il problema, come posso riavviare il servizio? In caso contrario, cos'altro potrei guardare?

Questo è con un host Windows 7 e un guest Ubuntu Linux.

Risposte:


21

Linux one-liner:

pkill -f VBoxClient; VBoxClient --clipboard


Uno script PowerShell di Windows.

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"     
}

Nota: PowerShell non è davvero il mio campo di competenza, quindi mi aspetto alcune modifiche della community qui :)


1
Vale la pena notare che questi sono entrambi per l'ospite.
RichVel,

Grazie, entrambi funzionano alla grande! Fa schifo che sono passati 3 anni e questo errore esiste ancora.
Sarke,

Linux one-liner ha funzionato alla grande, migliorato. Non ho provato PowerShell.
Peedee,

7

Come riparare gli appunti condivisi in VirtualBox

  1. In VirtualBox Windows Guest, aprire Task Manager
  2. Vai alla scheda Processi, evidenzia VBoxTray.exe e seleziona Termina processo
  3. Vai alla scheda Applicazioni e seleziona Nuova attività
  4. Passare alla cartella di installazione di VirtualBox Guest Additions e selezionare VBoxTray.exe e selezionare OK.

Gli appunti dovrebbero funzionare in seguito.


Come funziona? La descrizione della domanda è 'Linux Ubuntu guest' O intendi l'host Windows?
Sentient

La domanda riguarda un guest Linux e VBoxTray.exe si applica solo a un guest Windows.
RichVel,

5

Ho scoperto che su guest Linux (Ubuntu nel mio caso) e host Windows 7 (suppongo non sia importante) devi solo riavviare il seguente processo sul tuo computer guest:

/ usr / bin / VBoxClient --clipboard

Scopri il PID del processo con ps e uccidilo. Successivamente riavviare il processo con il comando precedente e gli Appunti ricominciano a funzionare. Lo uso ad esempio:

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

/ usr / bin / VBoxClient --clipboard


Grazie per aver fornito una soluzione copia / incolla! Il trucco: bisogna recuperare superuser.com/questions/536827 nella macchina ospite per poterlo copiare / incollare!
Starlocke,

Ho scoperto che è VBoxClientstato installato /usr/sbinsu Debian 8 - questo potrebbe non essere sul percorso per utenti non root.
RichVel,

Questo killè un modo di dire molto prolisso pkill -f 'VBoxClient --clipboard'. Se non ti interessano gli altri servizi, puoikillall VBoxClient
raylu l'

1

Prova a eseguire vboxadd-timesyn startper riavviare il servizio.

Un'altra cosa che ricordo di aver letto è stata quella di cambiare la condivisione degli appunti da bidirezionale a host a guest.

Qui puoi trovare un vecchio ticket bug simile al tuo problema. È una lettura lunga, ma potresti trovare utili alcuni suggerimenti.

Infine, se nulla risolve il problema, ti suggerisco di aprire una segnalazione di bug nel Bugtracker di VirtualBox , perché non sei il primo ad avere problemi con gli appunti condivisi.


Grazie! Ma quando si digita vboxadd-timesyn startottengo: command not found. Eventuali suggerimenti?
Amelio Vazquez-Reina,

I comandi disponibili sono: VBoxClient, VBoxClient-all, VBoxControle VBoxService.
Amelio Vazquez-Reina,

1
Puoi provare a correre /etc/init.d/vboxadd-timesync start?
user1301428,

Gli unici comandi che completano /etc/init.d/vboxaddsono vboxadd, vboxadd-serviceevboxadd-x11
Amelio Vazquez-Reina,

1
Ho cercato su Google un po ', e sembra che quel comando possa essere stato rinominato vboxadd. Se questo è vero, potresti provare a eseguire /etc/init.d/vboxaddcomandi simili.
user1301428,

1

Ho scoperto che il problema era dovuto al fatto che VirtualBox Guest Additions non si installava correttamente (mancando la dipendenza delle intestazioni del kernel ecc. Causando la mancata creazione di un modulo del kernel Virtualbox).

Prova a installare le aggiunte guest manualmente dalla riga di comando e leggi attentamente gli errori. L'HOWTO di seguito contiene istruzioni dettagliate.

Un suggerimento è controllare l'output di sudo lsmod | grep vbox, che mostra i moduli del kernel per Virtualbox - inizialmente era vuoto. Ecco l'output dopo la correzione:

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

Una volta terminati i moduli del kernel, ho dovuto solo eseguire /usr/sbin/VBoxClient --clipboard(su Debian 8 jessie) e gli appunti hanno iniziato a funzionare. La versione di Virtualbox era 4.3.30.

I comandi che ho eseguito per questa configurazione (i tuoi potrebbero essere diversi) erano:

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

Un modo sistematico per risolvere questo problema (e probabilmente altri) è quello di consultare il Guest Additions HOWTO per Linux . Il nome dello script di installazione è cambiato dal 2009, ma l'HOWTO è ancora molto utile e fornisce comandi per le distribuzioni in stile Debian / Ubuntu e RHEL / CentOS.


0

Il problema potrebbe essere causato dal fatto che i componenti aggiuntivi di VirtualBox non si avviano correttamente. Prova questo comando nel SO guest:

sudo /etc/init.d/vboxadd start

Cosa fa effettivamente quel comando per te? Dove lo digiteresti, host di Windows o guest Linux?
Andrew Lott,

@AndrewLott È ovviamente un comando ( sudoe init.dscript) di Linux . Tuttavia, avere una spiegazione in più su ciò che fa sarebbe bello.
slhck,

Io e te possiamo dire che è un comando Linux, ma sto pensando ad altri visitatori che potrebbero non essere così certi.
Andrew Lott,

0

Questo è ciò che ha funzionato per me..

Sono su Linux mint 17.1 xfce. Il pacchetto ufficiale di distro supporta 4.3.18. Ero su .22 e avevo molti problemi separati, quindi sono passato a .18. Quindi, una volta avviato, ho eseguito il dispositivo -> Inserisci guest additions iso e ho eseguito il programma di installazione .run come root. Nonostante l'avvertimento sul rilevamento di una versione di installazione del pacchetto, ho permesso che sovrascrivesse. Bingo. non più problemi con la rete e gli appunti. Penso che la cosa fondamentale, almeno per la mia distribuzione, sia quella di riprodurre il pacchetto ufficiale, ma usare l'iso fornito con il client.

-Steve


0

Ho avuto un problema simile: ma nel mio caso il processo / usr / bin / VBoxClient --clipboard stava chiudendo più volte per sessione.

Per gestirlo ho creato il programma bash:

#! /bin/bash

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

Lo eseguo ogni volta, ho perso la capacità di usare gli appunti.


Ho scoperto che il problema era dovuto al fatto che VirtualBox Guest Additions non si installava correttamente (mancando la dipendenza delle intestazioni del kernel ecc. Causando la mancata creazione di un modulo del kernel Virtualbox).
RichVel,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.